Thêm game tại WuGames.ioTài trợKhám phá kho game trình duyệt miễn phí — chơi ngay, không tải, không đăng ký.Chơi ngay

Chuyển Đổi CSV-SQL

Chuyển CSV sang câu lệnh SQL INSERT, CREATE TABLE hoặc ngược lại ngay trên trình duyệt. Tự nhận diện kiểu, dấu phân cách, dùng được MySQL Postgres SQLite.

Upload
Kéo và thả tệp vào đây
hoặc nhấp để duyệt

Giới Thiệu Công Cụ Chuyển Đổi CSV-SQL

Chuyển Đổi CSV-SQL là công cụ trực tuyến miễn phí chuyển đổi giữa file CSV và câu lệnh SQL. Tạo câu lệnh SQL INSERT và CREATE TABLE từ dữ liệu CSV, hoặc xuất kết quả truy vấn SQL trở lại định dạng CSV—tất cả được xử lý cục bộ trong trình duyệt để đảm bảo quyền riêng tư hoàn toàn.

Tại sao cần chuyển CSV sang SQL?

Chuyển CSV sang SQL rất quan trọng để nhập dữ liệu vào cơ sở dữ liệu:

- Nhanh chóng điền dữ liệu vào bảng từ file xuất bảng tính
- Di chuyển dữ liệu giữa các hệ thống khác nhau
- Tạo dữ liệu thử nghiệm cho phát triển
- Nhập dữ liệu hàng loạt mà không cần nhập thủ công
- Tạo script SQL cho quản lý phiên bản

Công cụ này tạo các câu lệnh INSERT được định dạng đúng với tự động phát hiện kiểu dữ liệu, giúp nhập cơ sở dữ liệu nhanh và không có lỗi.

Có những định dạng đầu ra SQL nào?

Công cụ cung cấp ba tùy chọn đầu ra SQL:

1. Chỉ Câu Lệnh INSERT: Chỉ các lệnh INSERT cho bảng đã có
2. Chỉ CREATE TABLE: Định nghĩa cấu trúc bảng với kiểu cột
3. CREATE + INSERT: Script SQL hoàn chỉnh với tạo bảng và chèn dữ liệu

Bạn cũng có thể bao gồm câu lệnh DROP TABLE để thay thế bảng hiện có một cách an toàn.

Kiểu dữ liệu được phát hiện như thế nào?

Công cụ tự động suy luận kiểu dữ liệu SQL bằng cách phân tích dữ liệu CSV của bạn:

- Giá trị số → REAL (cho số thập phân) hoặc INTEGER
- Văn bản ngắn (< 255 ký tự) → VARCHAR(255)
- Văn bản dài → TEXT
- Kiểu hỗn hợp → TEXT (tùy chọn an toàn nhất)

Phát hiện tự động này hoạt động với MySQL, PostgreSQL, SQLite và hầu hết các cơ sở dữ liệu SQL. Bạn có thể điều chỉnh thủ công kiểu dữ liệu trong SQL được tạo nếu cần.

Tôi có thể chuyển SQL trở lại CSV không?

Có! Chế độ SQL sang CSV cho phép bạn:

- Thực thi câu lệnh SQL CREATE và INSERT
- Chạy truy vấn SELECT để lọc dữ liệu
- Xuất kết quả truy vấn sang định dạng CSV
- Chọn dấu phân cách (dấu phẩy, dấu chấm phẩy, tab)
- Bao gồm/loại trừ tiêu đề cột

Điều này hữu ích để xuất bản sao lưu cơ sở dữ liệu, chia sẻ kết quả truy vấn hoặc chuyển đổi bản sao lưu SQL sang định dạng bảng tính.

Dữ liệu của tôi có rời khỏi thiết bị không?

Không. Tất cả việc chuyển đổi CSV-SQL diễn ra hoàn toàn trong trình duyệt của bạn bằng JavaScript và SQL.js (công cụ SQL chạy trên trình duyệt). Dữ liệu của bạn không bao giờ rời khỏi máy, đảm bảo quyền riêng tư hoàn toàn cho thông tin nhạy cảm như dữ liệu khách hàng, hồ sơ tài chính hoặc dữ liệu kinh doanh bảo mật.

Nếu tên cột có ký tự đặc biệt thì sao?

Công cụ tự động làm sạch tên cột để đảm bảo tương thích SQL:

- Loại bỏ ký tự đặc biệt (thay bằng gạch dưới)
- Xử lý khoảng trắng (chuyển thành gạch dưới)
- Ngăn xung đột với từ khóa SQL dành riêng
- Đảm bảo định danh SQL hợp lệ

Ví dụ: "Tên Nhân Viên (2024)" trở thành "Ten_Nhan_Vien_2024"

Điều này đảm bảo SQL được tạo hoạt động trên tất cả hệ thống cơ sở dữ liệu mà không có lỗi.

Chuyển Đổi CSV-SQL — Chuyển CSV sang câu lệnh SQL INSERT, CREATE TABLE hoặc ngược lại ngay trên trình duyệt. Tự nhận diện kiểu, dấu phân cách
Chuyển Đổi CSV-SQL

SQL sinh ra có chạy được trên MySQL, Postgres và SQLite mà không sửa không?

Phần lớn có với INSERT. Kiểu schema khác: MySQL dùng VARCHAR(255), Postgres ưa TEXT, SQLite không có type (dùng INTEGER, REAL, TEXT, BLOB). Generator xuất kiểu ANSI tương thích cả ba. Tính năng riêng Postgres (SERIAL, JSONB, array) cần sửa tay sau khi generate.

Logic nhận diện INTEGER vs REAL vs TEXT hoạt động ra sao?

Quét tối đa 1000 hàng mỗi cột. Nếu mọi giá trị số đều là số nguyên (Number.isInteger, không có dấu thập phân) thì trả về INTEGER (hoặc INT cho MySQL). Nếu có giá trị số mang phần thập phân thì trả về kiểu số thực của hệ đó: REAL (SQLite), DOUBLE PRECISION (Postgres), DOUBLE (MySQL) hoặc FLOAT (SQL Server). Cột không phải số sẽ thành VARCHAR(255) cho chuỗi ngắn (<255 ký tự) hoặc TEXT cho chuỗi dài. Ô trống bị bỏ qua và kiểu lẫn lộn rơi về TEXT cho an toàn.

Vì sao cột 'order' hay 'select' của tôi không còn làm hỏng SQL nữa?

Mọi tên bảng và tên cột giờ được bọc theo kiểu trích dẫn của hệ SQL bạn chọn, nên các từ khóa dành riêng như order, select hay group luôn an toàn. Công cụ dùng `dấu huyền` cho MySQL, [dấu ngoặc vuông] cho SQL Server và "dấu nháy kép" cho PostgreSQL và SQLite (ANSI). Ký tự trích dẫn nằm trong tên được nhân đôi (thoát) tự động. Vì vậy khoảng trắng và ký tự đặc biệt không còn cần bị loại bỏ để giữ định danh hợp lệ.

NULL, ô trống, dấu nháy, dấu phẩy và xuống dòng được xử lý thế nào?

Khi chuyển CSV sang SQL, ô trống thành NULL (không phải chuỗi rỗng), số để nguyên không trích dẫn, còn văn bản được bọc nháy đơn với dấu nháy bên trong được thoát bằng cách nhân đôi ('' -> ''). Khi chuyển kết quả SQL trở lại CSV, NULL thành ô trống, và mọi giá trị chứa dấu phân cách, dấu nháy kép hay ký tự xuống dòng được bọc trong dấu nháy kép với nháy bên trong nhân đôi - thoát CSV chuẩn RFC 4180 - nên dấu phẩy và xuống dòng nhúng vẫn round-trip không mất dữ liệu.

Nên chọn hệ SQL đích nào, và INSERT nhiều dòng làm gì?

Chọn cơ sở dữ liệu bạn sẽ import vào - MySQL, PostgreSQL, SQLite hay SQL Server. Hệ này quyết định kiểu trích dẫn định danh (dấu huyền, ngoặc vuông hay nháy kép) và kiểu cột (INT vs INTEGER, DOUBLE vs DOUBLE PRECISION vs FLOAT vs REAL, VARCHAR vs NVARCHAR), nên script chạy được ngay mà không cần sửa tay. Bật INSERT nhiều dòng để xuất câu lệnh gộp - INSERT INTO t (...) VALUES (...),(...),(...); chia khối 500 dòng mỗi câu - nạp nhanh hơn nhiều so với mỗi dòng một INSERT khi dữ liệu lớn. Tắt đi nếu muốn mỗi dòng một câu lệnh, dễ so sánh diff hơn.

Có chạy query SELECT trên dữ liệu đã nạp được không?

Có. Chế độ SQL sang CSV nhúng SQL.js (bản WebAssembly 1MB của SQLite). Bạn có thể dán script CREATE+INSERT+SELECT và kết quả SELECT xuất ra CSV. Hữu ích để lọc, join, aggregate trước khi xuất tập con. Không dữ liệu nào rời trình duyệt; toàn bộ engine SQLite chạy phía client.