Chạy các truy vấn SQL trực tiếp trên dữ liệu CSV của bạn.
Về Truy vấn CSV bằng SQL
Trả lời một câu hỏi như "thành phố nào mang lại doanh thu cao nhất tháng trước" từ một tệp CSV thường có nghĩa là phải nhập nó vào một cơ sở dữ liệu hoặc dựng một bảng pivot. Công cụ này nạp CSV vào một engine SQL chạy ngay trong trình duyệt (AlaSQL) để bạn có thể viết một câu lệnh SELECT thông thường với WHERE, GROUP BY, ORDER BY, COUNT, SUM hoặc AVG và xem kết quả dưới dạng bảng, rồi tải nó xuống dưới dạng CSV.
Dán CSV, viết truy vấn dùng FROM ? làm tên bảng rồi nhấp Thực thi. Engine chạy ngay trong tab trình duyệt của bạn, nên các tệp bán hàng, nhân sự hay khách hàng không bao giờ được tải lên máy chủ.
Cách dùng Truy vấn CSV bằng SQL từng bước
Dán CSV của bạn vào ô dữ liệu, thay thế bảng đơn hàng mẫu. Dòng đầu tiên phải chứa tên các cột.
Viết truy vấn SQL vào ô truy vấn. CSV được tham chiếu bằng ? (dấu chấm hỏi), ví dụ SELECT * FROM ? WHERE amount > 100.
Nhấp "Thực thi truy vấn". Kết quả sẽ xuất hiện dưới dạng bảng bên dưới; lỗi trong SQL được hiển thị bằng màu đỏ.
Nhấp "Tải kết quả dưới dạng CSV" để lưu kết quả thành query_result.csv.
Ví dụ đầu vào và đầu ra
Đầu vào
order_id,customer,city,amount
1001,Ana López,Madrid,120.50
1002,John Smith,London,89.90
1004,Luis García,Madrid,65.25
SELECT city, COUNT(*) AS orders, SUM(amount) AS revenue FROM ? GROUP BY city ORDER BY revenue DESC
Đầu ra
city | orders | revenue
Madrid | 2 | 185.75
London | 1 | 89.9
Tại sao nên sử dụng Truy vấn CSV bằng SQL của chúng tôi?
Miễn phí 100% và trực tuyến: không thanh toán, không cần cài đặt phần mềm hay tiện ích.
Bảo mật trên hết: xử lý diễn ra trong trình duyệt của bạn, dữ liệu không rời khỏi thiết bị.
Không cần đăng ký: dán dữ liệu và nhận kết quả chỉ với một cú nhấp.
Nhanh và đáng tin cậy: xử lý tệp nhỏ hoặc lớn trong vài giây, sẵn sàng cho Excel và các công cụ khác.
Các trường hợp sử dụng phổ biến
Tổng hợp một bản xuất đơn hàng từ Shopify hoặc Stripe theo quốc gia hoặc theo tháng mà không cần mở Excel.
Lọc một tệp CSV nhật ký hoặc sự kiện lớn để chỉ lấy các hàng thỏa mãn một điều kiện trước khi chia sẻ.
Kiểm tra các bản trùng lặp hoặc đếm số giá trị riêng biệt trong một danh sách email bằng SELECT email, COUNT(*) ... HAVING COUNT(*) > 1.
Thử nghiệm một truy vấn với dữ liệu mẫu trước khi chạy nó trên cơ sở dữ liệu production.
Giới hạn và mẹo
Các ô trông giống số (123, -4.5) sẽ được chuyển thành số để SUM, AVG và ORDER BY theo số hoạt động đúng; mọi thứ khác, kể cả ngày tháng, đều là văn bản.
Các trường có dấu ngoặc kép được hỗ trợ: một giá trị như "López, Ana" sẽ vẫn nằm trong một cột. Dấu phân cách phải là dấu phẩy.
AlaSQL hỗ trợ hầu hết cú pháp SELECT của SQL-92: JOIN giữa hai bộ dữ liệu không khả dụng ở đây vì chỉ có một CSV được nạp, nhưng subquery, CASE, LIKE, IN, BETWEEN, DISTINCT, LIMIT và các hàm chuỗi như UPPER, LOWER, SUBSTRING vẫn hoạt động.
Tên cột có khoảng trắng hoặc dấu phải được bọc trong dấu backtick hoặc dấu ngoặc vuông, ví dụ SELECT [unit price] FROM ?.
Câu hỏi thường gặp
Tại sao bảng lại được gọi là ? trong truy vấn?
Các hàng CSV được truyền vào engine SQL dưới dạng một tham số, và AlaSQL dùng dấu chấm hỏi làm placeholder cho một nguồn dữ liệu được truyền theo cách này. Hãy viết FROM ? ở bất kỳ đâu bạn muốn viết tên bảng; bạn có thể đặt bí danh cho nó bằng FROM ? AS t nếu muốn.
Những hàm SQL nào được hỗ trợ?
Engine được sử dụng là AlaSQL, một cơ sở dữ liệu SQL bằng JavaScript. Nó hỗ trợ SELECT với WHERE, GROUP BY, HAVING, ORDER BY, LIMIT và OFFSET; các hàm tổng hợp COUNT, SUM, AVG, MIN, MAX; DISTINCT; biểu thức CASE; LIKE, IN và BETWEEN; cùng các hàm chuỗi và toán học như UPPER, LOWER, TRIM, LENGTH, ROUND và ABS.
Tại sao SUM lại trả về 0 hoặc một chuỗi được nối lại?
Vì cột đó chứa các giá trị không phải là số thuần túy, ví dụ 1,200.50 có dấu phân cách hàng nghìn, ký hiệu tiền tệ, hoặc khoảng trắng. Chỉ các ô khớp với một số thập phân thuần túy như 1200.50 mới được chuyển thành số. Hãy làm sạch cột trước, hoặc dùng CAST trong truy vấn.
Sự khác biệt giữa việc chạy SQL trên một CSV và trong một cơ sở dữ liệu là gì?
Một cơ sở dữ liệu lưu trữ dữ liệu vĩnh viễn, áp đặt kiểu dữ liệu và chỉ mục, và có thể join nhiều bảng. Ở đây, CSV được nạp vào bộ nhớ cho một phiên làm việc và mỗi cột là văn bản hoặc số được suy luận, phù hợp cho việc khám phá nhanh nhưng không phù hợp cho công việc lâu dài hoặc nhiều bảng.
CSV có được gửi lên máy chủ không?
Không. Việc phân tích và thực thi truy vấn diễn ra bằng JavaScript ngay trong trình duyệt của bạn. Dữ liệu sẽ bị loại bỏ khi bạn đóng hoặc tải lại trang.
Công cụ liên quan
Các tiện ích miễn phí khác có thể hữu ích cho bạn
SQL sang CSV — Chuyển đổi một bản kết xuất SQL (INSERTs) thành một tệp CSV.