Cách dùng CSV & Excel sang SQL
- Dán CSV hoặc các ô Excel đã sao chép, mở tệp
.csv/.xlsx, hoặc nhấn Load sample. - Chọn dialect cơ sở dữ liệu và nhập tên bảng.
- Chọn các câu lệnh bạn cần:
CREATE TABLEvới kiểu dữ liệu được nhận diện,DROP TABLE, transaction, và số dòng trong mỗiINSERT. - Kiểm tra kiểu dữ liệu của cột trong phần xem trước, sau đó nhấn Copy hoặc Download .sql và chạy trong công cụ quản lý cơ sở dữ liệu của bạn.
Công cụ chuyển CSV sang SQL là gì?
Công cụ chuyển CSV sang SQL biến các dòng trong bảng tính thành câu lệnh SQL mà cơ sở dữ liệu có thể thực thi: một câu lệnh CREATE TABLE định nghĩa các cột, và các câu lệnh INSERT INTO … VALUES thêm dữ liệu. Đây là cách nhanh nhất để nạp một bản xuất dữ liệu một lần, tạo dữ liệu mẫu cho cơ sở dữ liệu phát triển, hoặc chuyển dữ liệu từ Excel sang MySQL hay PostgreSQL mà không cần trình nhập liệu.
CREATE TABLE `customers` (
`id` INT NOT NULL,
`name` VARCHAR(16),
`signup_date` DATE,
`monthly_spend` DECIMAL(10,2),
PRIMARY KEY (`id`)
);
INSERT INTO `customers` (`id`, `name`, `signup_date`, `monthly_spend`) VALUES
(1, 'Ada Lovelace', '2024-01-15', 49),
(4, 'O''Brien, Pat', '2024-04-09', 49);
Cách nhận diện kiểu dữ liệu của cột
Mọi giá trị trong một cột đều được kiểm tra, và kiểu dữ liệu hẹp nhất phù hợp với tất cả giá trị sẽ được chọn. Phần xem trước hiển thị kết quả dưới dạng nhãn phía trên mỗi cột.
| Giá trị trong cột | MySQL | PostgreSQL | SQL Server |
|---|---|---|---|
| Số nguyên | INT / BIGINT | INTEGER / BIGINT | INT / BIGINT |
| Số thập phân | DECIMAL(p,s) | NUMERIC(p,s) | DECIMAL(p,s) |
| true / false | TINYINT(1) | BOOLEAN | BIT |
2024-01-15 | DATE | DATE | DATE |
2024-01-15 14:30:00 | DATETIME | TIMESTAMP | DATETIME2 |
| Văn bản | VARCHAR(n) / TEXT | VARCHAR(n) / TEXT | NVARCHAR(n) / NVARCHAR(MAX) |
Cột văn bản sẽ có độ dài VARCHAR được làm tròn lên từ giá trị dài nhất (16, 32, 50, 100, 255…). Hãy xem lại độ dài trước khi nạp dữ liệu thật, vì một cột ngắn trong mẫu có thể chứa giá trị dài hơn về sau.
Escape và khác biệt giữa các dialect
- Dấu nháy trong văn bản được nhân đôi (
O'Brien→'O''Brien'); đầu ra MySQL còn escape dấu gạch chéo ngược. - Tên định danh được bao bằng dấu backtick (MySQL), dấu nháy kép (PostgreSQL, SQLite, Oracle) hoặc dấu ngoặc vuông (SQL Server), nên các từ khóa như
orderhaygroupvẫn dùng được làm tên cột. - Insert nhiều dòng nhanh hơn nhiều so với một câu lệnh cho mỗi dòng. SQL Server cho tối đa 1.000 dòng trong một danh sách
VALUES, còn Oracle dùngINSERT ALL … SELECT 1 FROM DUAL. - Ô trống mặc định sẽ thành
NULL; bỏ chọn tùy chọn này nếu bạn muốn chèn chuỗi rỗng.
Mẹo cho các lần nhập dữ liệu lớn
Hãy bọc các câu lệnh insert trong một transaction để một dòng lỗi không làm dữ liệu bị nhập dở dang, và dùng lô 500–1.000 dòng. Với hàng triệu dòng, các công cụ nạp hàng loạt gốc như LOAD DATA INFILE của MySQL hoặc COPY của PostgreSQL còn nhanh hơn. Cần chuyển JSON? Hãy dùng JSON sang SQL, và thiết kế bảng thủ công với công cụ tạo CREATE TABLE. Muốn định dạng lại kết quả, dùng SQL Formatter.
Cũng được tìm dưới tên: excel sang sql, csv sang sql insert, csv sang mysql, excel sang mysql, csv sang postgresql, xlsx sang sql, tạo câu lệnh insert sql, chuyển csv sang sql.
Các công cụ dùng kèm tốt với CSV & Excel sang SQL
- SQL sang JSON, CSV & Excel — Dán file dump SQL hoặc vài câu lệnh INSERT và nhận lại dữ liệu dưới dạng JSON, CSV hoặc file Excel, mỗi bảng là một sheet riêng.
- Excel sang JSON — Mở file .xlsx hoặc dán trực tiếp các ô từ Excel hay Google Sheets để nhận JSON sạch.
- CSV sang JSON — Dán CSV hoặc TSV để nhận mảng JSON gồm các object.
- JSON sang Excel — Biến mảng JSON thành một workbook Excel thực sự.
Câu hỏi thường gặp
Làm thế nào để chuyển bảng Excel thành câu lệnh SQL INSERT?
Công cụ hỗ trợ những cơ sở dữ liệu nào?
Tôi có thể tạo một câu lệnh INSERT cho mỗi dòng không?
Vì sao tên cột của tôi bị thay đổi?
signup_date, giúp tránh lỗi về dấu nháy. Bỏ chọn để giữ nguyên nội dung tiêu đề gốc.