UltKit

Chuyển CSV sang SQL

Biến file xuất từ bảng tính thành script mà cơ sở dữ liệu của bạn chạy được. Dòng tiêu đề đặt tên cho các cột, mỗi dòng dữ liệu thành một lệnh INSERT, và cách đặt dấu trích dẫn theo đúng phương ngữ SQL bạn chọn.

Chuyển đổi dữ liệu

hoặc thả tệp CSV, TSV, TXT … vào đây ·

Tối đa 95 MB mỗi tệp· Tối đa 20 tệp· Xóa sau 30 phút

Đầu ra

Tệp được xử lý trên máy chủ của chúng tôi và bị xóa sau 30 phút.

Cách sử dụng công cụ này

  1. 1

    Tải file CSV lên

    Thêm một file CSV hoặc tối đa 20 file, mỗi file không quá 95 MB. File dùng dấu chấm phẩy và tab được nhận diện tự động.

  2. 2

    Đặt tên bảng và chọn phương ngữ SQL

    Trong Cài đặt nâng cao, nhập Tên bảng SQL và chọn Phương ngữ SQL: MySQL, PostgreSQL, SQLite hoặc SQL Server. Ngày tháng được đặt theo chuẩn ISO để giá trị ngày được nạp vào mà không phải đoán định dạng.

  3. 3

    Chuyển đổi và chạy script

    Nhấn Chuyển sang SQL, xem dòng CREATE TABLE, rồi chạy script trong trình quản lý cơ sở dữ liệu hoặc màn hình nhập dữ liệu của bạn.

Công cụ chuyển CSV sang SQL tạo câu lệnh CREATE TABLE từ dòng tiêu đề và một câu INSERT cho mỗi dòng dữ liệu, đặt dấu trích dẫn phù hợp với MySQL, PostgreSQL, SQLite hoặc SQL Server, để bảng tính được nạp vào cơ sở dữ liệu chỉ bằng một script.

Vì sao nên chuyển CSV thành các lệnh SQL INSERT

Cơ sở dữ liệu nào cũng có công cụ nạp CSV nhanh, và công cụ nào cũng có điểm vướng. LOAD DATA LOCAL INFILE bị tắt mặc định trên máy chủ từ MySQL 8.0, COPY FROM một file trong PostgreSQL cần quyền superuser hoặc thuộc một vai trò đặc biệt, còn BULK INSERT của SQL Server đọc đường dẫn trên máy chủ chứ không phải laptop của bạn. Cơ sở dữ liệu được lưu trữ thuê ngoài thường chỉ có trình soạn thảo truy vấn.

Script INSERT tránh được tất cả những vướng mắc đó. Nó là văn bản nên bạn có thể đọc, đưa vào quản lý phiên bản làm dữ liệu khởi tạo và chạy trong bất kỳ trình quản lý nào. Đổi lại là tốc độ: hàng chục nghìn dòng nạp tốt, còn hàng triệu dòng nên dùng công cụ nạp hàng loạt gốc. Nếu bạn lưu dữ liệu tham chiếu trong workbook, có thể bỏ qua bước CSV bằng Excel sang SQL.

Ví dụ chuyển CSV sang SQL cho MySQL

Script được tạo từ id,name,joined với hai dòng dữ liệu
CREATE TABLE `my_table` (
  `id` INT,
  `name` VARCHAR(255),
  `joined` DATE
);

INSERT INTO `my_table` (`id`, `name`, `joined`) VALUES
(1, 'Trần Thị Mai', '2026-03-02'),
(2, 'Liam O''Brien', '2026-04-15');

Bốn phương ngữ SQL khác nhau thế nào trong kết quả

Tên định danh được đặt trong dấu backtick, như order date, nhờ đó từ khóa dành riêng như order cũng dùng được làm tên cột.

  • Cũng phù hợp với MariaDB
  • Lựa chọn mặc định tốt khi nhập bằng phpMyAdmin
Giới hạn của cơ sở dữ liệu ảnh hưởng đến script được tạo
Tổ chứcYêu cầuNguồn
MySQL 8.0max_allowed_packet mặc định là 64 MB; một câu lệnh đơn lớn hơn mức đó sẽ bị từ chối—
SQL ServerMột danh sách INSERT … VALUES chấp nhận tối đa 1.000 biểu thức giá trị dòng—
PostgreSQLTên định danh dài hơn 63 byte bị cắt bớt mà không có cảnh báo—
SQLiteMột bảng có tối đa 2.000 cột trong bản dựng mặc định—

Kiểm tra những điểm sau trước khi chạy script

Hãy xem dòng CREATE TABLE trước. Kiểu cột được đoán từ giá trị, và đoán có thể sai: mã ZIP và số điện thoại trông như số nhưng phải giữ dạng văn bản, nếu không 02134 sẽ mất số 0 ở đầu. Hãy sửa kiểu trong script trước khi chạy, hoặc tự tạo bảng rồi chỉ chạy phần INSERT.

Hãy nhập tên thật vào Tên bảng SQL thay cho my_table, và chạy script trong một transaction nếu trình quản lý của bạn cho phép, để một dòng lỗi sẽ hoàn tác toàn bộ. Các định dạng đích khác cho cùng file CSV có trong trang chuyển đổi dữ liệu.

Định dạng CSV và script SQL

CSV

Giá trị phân tách bằng dấu phẩy (CSV)

CSV là định dạng văn bản thuần cho bảng, trong đó mỗi dòng là một hàng và dấu phẩy phân tách các cột. Định dạng đã được dùng từ những ngày đầu của ngành máy tính và được mô tả trong RFC 4180, dù nhiều biến thể dùng dấu chấm phẩy hoặc tab và các bảng mã văn bản khác nhau. Gần như mọi bảng tính, cơ sở dữ liệu và công cụ phân tích đều nhập và xuất được CSV, nên đây là định dạng mặc định để chuyển dữ liệu giữa các hệ thống. CSV chỉ lưu giá trị, không có công thức, định dạng trình bày, nhiều trang tính hay kiểu dữ liệu.

Nén
–
Độ trong suốt
–
Ảnh động
–
Ra mắt
–
Công cụ chuyển đổi CSV

SQL

Tập lệnh SQL

Tệp SQL là một tập lệnh văn bản thuần gồm các câu lệnh Structured Query Language, chẳng hạn CREATE TABLE và INSERT, được cơ sở dữ liệu thực thi theo thứ tự. Tệp thường được dùng để sao lưu cơ sở dữ liệu, di chuyển dữ liệu (migration) và chia sẻ dữ liệu mẫu. Bản thân ngôn ngữ này là một chuẩn ISO, nhưng MySQL, PostgreSQL, SQLite và SQL Server đều có phương ngữ riêng, nên tập lệnh thường cần chỉnh sửa nhỏ khi chuyển giữa các hệ thống. Mọi trình soạn thảo văn bản đều mở được tệp SQL, còn muốn thực thi thì cần một trình khách cơ sở dữ liệu.

Nén
–
Độ trong suốt
–
Ảnh động
–
Ra mắt
–
Công cụ chuyển đổi SQL

CSV được chuyển thành SQL khi file cần trở thành một bảng trong cơ sở dữ liệu mà bạn chỉ truy cập được qua cửa sổ truy vấn: tạo dữ liệu ban đầu cho ứng dụng mới, nạp danh sách tham chiếu hoặc đưa bảng tính vào MySQL hay PostgreSQL khi không có quyền truy cập máy chủ.

Câu hỏi thường gặp về chuyển CSV sang SQL

Vì sao nên dùng file SQL thay cho LOAD DATA hoặc COPY?

Các công cụ nạp hàng loạt như LOAD DATA INFILE của MySQL và COPY của PostgreSQL nhanh hơn nhưng cần quyền truy cập file trên máy chủ hoặc thêm tham số ở máy khách. Một script thông thường chạy được ở bất cứ nơi nào bạn dán được SQL: bảng điều khiển cơ sở dữ liệu trên đám mây, phpMyAdmin hoặc một bản migration đã được rà soát.

Dấu nháy đơn trong tên như O'Brien được ghi thế nào?

Trong chuỗi SQL, dấu nháy đơn được thoát bằng cách viết đôi, nên giá trị được ghi thành 'O''Brien'. Cả bốn phương ngữ đều chấp nhận dạng này, vì vậy tên có dấu nháy đơn không làm hỏng câu lệnh INSERT.

Tiêu đề cột trong CSV sẽ trở thành gì trong bảng?

Là tên cột, được đặt trong dấu trích dẫn theo cách phương ngữ đã chọn yêu cầu. Tiêu đề như Unit Price vẫn dùng được, nhưng tên có dấu cách và dấu trích dẫn thì ở mọi truy vấn sau này cũng phải đặt trong dấu trích dẫn, nên nếu có thể hãy đổi tiêu đề thành unit_price trước khi chuyển.

Có thể nhập file SQL qua phpMyAdmin không?

Có, ở tab Import. Giới hạn ở đó là upload_max_filesize của PHP, mặc định là 2 MB trong php.ini gốc; nhiều nhà cung cấp hosting nâng giới hạn này lên và trang hiển thị mức giới hạn hiện tại. Nếu script lớn hơn mức đó, hãy chia file CSV lớn thành nhiều file.

Có cách nào chuyển ngược từ bảng về CSV không?

Xuất bảng ra file dump rồi chuyển bằng SQL sang CSV, hoặc dùng chức năng xuất CSV có sẵn của trình quản lý cơ sở dữ liệu. Cả hai cách đều cho ra các dòng mà bảng tính có thể mở lại.