Truy vấn CSV bằng SQL

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

  1. 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.
  2. 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.
  3. 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 đỏ.
  4. 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?

Các trường hợp sử dụng phổ biến

Giới hạn và mẹo

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

Available languages