Công cụ tải engine khi dùng lần đầu nên không có bản tải về để chạy ngoại tuyến — nhưng nó vẫn chạy riêng tư trong trình duyệt của bạn, không tải gì lên máy chủ.
Về công cụ này
Công cụ này nạp một CSV vào một cơ sở dữ liệu SQLite thực trong bộ nhớ và cho phép bạn chạy SQL đúng nghĩa trên đó — SELECT, WHERE, ORDER BY, GROUP BY, các hàm tổng hợp như SUM và COUNT, truy vấn con và self-join đều hoạt động y như trong một cơ sở dữ liệu. Nó được vận hành bằng SQLite chính thức biên dịch sang WebAssembly, nên engine truy vấn là hàng thật, không phải một bản dựng lại một phần.
Không có gì được tải lên. Engine SQLite và CSV của bạn không bao giờ rời khỏi thiết bị — toàn bộ cơ sở dữ liệu nằm trong bộ nhớ của tab trình duyệt và biến mất khi bạn đóng nó. Điều đó biến nó thành một chỗ nháp an toàn để khám phá các bản xuất, dữ liệu bán hàng, log hay bất kỳ bảng tính nào bạn không muốn dán vào một cơ sở dữ liệu trực tuyến. Vì dùng bản dựng SQLite không có eval, nó cũng chạy được dưới các chính sách bảo mật nghiêm ngặt vốn chặn các công cụ kiểu sql.js.
Tên cột được lấy từ hàng tiêu đề và được làm sạch thành các định danh hợp lệ; mọi giá trị được lưu dưới dạng văn bản, nên hãy ép sang số trong truy vấn khi bạn cần tính toán (ví dụ CAST(price AS REAL)). Kết quả hiển thị dưới dạng bảng mà bạn có thể tải về dưới dạng CSV.
Câu hỏi thường gặp
CSV hay truy vấn của tôi có được tải lên đâu không?
Không. Engine SQLite chạy hoàn toàn bên trong trình duyệt của bạn thông qua WebAssembly và cơ sở dữ liệu chỉ được giữ trong bộ nhớ. CSV, câu SQL và kết quả của bạn không bao giờ rời khỏi thiết bị và sẽ mất đi khi bạn đóng tab.
Hỗ trợ những cú pháp SQL và định dạng tệp nào?
Đầu vào là CSV (phân tách bằng dấu phẩy, chấm phẩy, tab hoặc thanh dọc). Engine là SQLite thực, nên các truy vấn SELECT tiêu chuẩn — WHERE, ORDER BY, GROUP BY, HAVING, LIMIT, hàm tổng hợp, truy vấn con và join — đều được hỗ trợ. Việc nạp CSV tạo ra một bảng mới, nên đây không phải là mã hóa lại gây mất dữ liệu; nó chỉ đơn giản đọc các giá trị của bạn vào một cơ sở dữ liệu.
Vì sao phép so sánh số lại hành xử như văn bản?
Mọi cột được lưu dưới dạng TEXT để không có gì bị đoán hay mất, điều này nghĩa là SQLite sắp xếp và so sánh chúng như chuỗi. Hãy ép kiểu trong truy vấn khi bạn cần số thực — ví dụ ORDER BY CAST(price AS REAL) DESC hoặc WHERE CAST(qty AS INTEGER) > 100.
Tên cột và tên bảng được chọn như thế nào?
Tên cột đến từ hàng tiêu đề (khi bật ô chọn tiêu đề) và được làm sạch thành các định danh SQL hợp lệ, khử trùng lặp khi bị đụng tên; nếu không có tiêu đề, chúng trở thành col1, col2, v.v. Tên bảng mặc định là t và có thể thay đổi trước khi bạn nạp CSV.
Công cụ khác