Chuyển đổi JSON sang SQL

Chuyển JSON thành câu lệnh SQL INSERT và CREATE TABLE tùy chọn cho MySQL, PostgreSQL, SQLite hoặc SQL Server, đặt dấu nháy và thoát ký tự đúng chuẩn. Miễn phí.

Chạy hoàn toàn trong trình duyệt. Dữ liệu của bạn không bao giờ bị tải lên.

Công cụ Liên quan

Xem Tất cả

JSON sang SQL là gì?

Biến một mảng đối tượng JSON thành SQL: câu lệnh CREATE TABLE tùy chọn với kiểu cột được suy ra, theo sau là các câu lệnh INSERT. Định danh và chuỗi được đặt trong dấu nháy và thoát ký tự theo phương ngữ bạn chọn.

Cách sử dụng JSON sang SQL

  1. Dán JSON vào ô Dữ liệu JSON đầu vào, hoặc dùng Tải ví dụ hay Mở tệp.
  2. Chọn Phương ngữ SQL và nhập Tên bảng.
  3. Bật/tắt Kèm CREATE TABLE và INSERT nhiều dòng.
  4. Kết quả SQL cập nhật ngay khi bạn gõ; dùng Sao chép hoặc Tải xuống.

Ví dụ

Đầu vào
[{"id":1,"name":"O'Brien"}]
Đầu ra
CREATE TABLE `my_table` (
  `id` INT,
  `name` VARCHAR(255)
);

INSERT INTO `my_table` (`id`, `name`) VALUES
  (1, 'O''Brien');

Khi nào nên dùng JSON sang SQL

Dùng để nạp dữ liệu ban đầu vào cơ sở dữ liệu từ dữ liệu xuất JSON, fixture hoặc dữ liệu API. Hãy xem lại kiểu cột được tạo và tự thêm khóa chính, NOT NULL và chỉ mục – những thứ này không thể suy ra từ dữ liệu mẫu.

JSON sang SQL hoạt động như thế nào

Các cột là hợp của mọi khóa đối tượng. Kiểu của mỗi cột được suy ra từ các giá trị khác null: số nguyên → INT/INTEGER (BIGINT khi vượt 32 bit), số thập phân → DOUBLE / DOUBLE PRECISION / REAL / FLOAT, boolean → BOOLEAN (BIT trong SQL Server, INTEGER trong SQLite), chuỗi → VARCHAR(255) hoặc TEXT/NVARCHAR(MAX) tùy độ dài, đối tượng/mảng lồng nhau → JSON/JSONB hoặc text. Định danh dùng backtick (MySQL), dấu nháy kép (PostgreSQL, SQLite) hoặc ngoặc vuông (SQL Server). Chuỗi được nhân đôi dấu nháy đơn; MySQL còn thoát dấu gạch chéo ngược, và SQL Server dùng N'…' cho văn bản không phải ASCII. INSERT nhiều dòng được chia thành từng khối 1000 dòng cho SQL Server.

Các Trường Hợp Sử Dụng Phổ Biến

  • Nạp dữ liệu cho cơ sở dữ liệu phát triển từ fixture JSON
  • Nhập dữ liệu API vào PostgreSQL
  • Tạo nhanh bảng SQLite từ JSON để phân tích
  • Sinh câu lệnh INSERT cho script migration

Câu Hỏi Thường Gặp

SQL được tạo có an toàn trước SQL injection không?

Mọi giá trị chuỗi đều được thoát theo phương ngữ đã chọn, nhưng hãy luôn xem lại SQL được tạo trước khi chạy trên dữ liệu production.

Đối tượng lồng nhau được lưu thế nào?

Dưới dạng văn bản JSON trong cột JSON (MySQL), JSONB (PostgreSQL) hoặc cột text.

Vì sao đầu ra SQL Server có nhiều câu lệnh INSERT?

SQL Server chỉ cho phép tối đa 1000 dòng trong một danh sách VALUES, nên dữ liệu lớn hơn sẽ được chia nhỏ.

Bước tiếp theo nên làm

Khám phá thêm danh mục