UTILS.
100% trong trình duyệt
🗄

JSON sang SQL CREATE TABLE

Suy luận một SQL CREATE TABLE (và các INSERT tùy chọn) từ một mảng JSON các đối tượng, tự động chọn kiểu cột cho MySQL, PostgreSQL, hoặc SQLite.

— kết quả hiển thị ở đây —

Về công cụ này

Công cụ JSON sang SQL CREATE TABLE đọc một mảng JSON các đối tượng (hoặc một đối tượng đơn) và suy luận một định nghĩa bảng SQL tương ứng, chọn kiểu của mỗi cột từ các giá trị nó thực sự thấy. Nó chạy hoàn toàn trong trình duyệt của bạn — JSON được phân tích bằng JSON.parse gốc và không bao giờ rời khỏi thiết bị của bạn — nên bạn có thể dán một bản kết xuất API hoặc một bản export cơ sở dữ liệu và dựng khung một bảng trong một bước.

Kiểu cột được suy luận cho từng trường trên mọi hàng: các giá trị đều là số nguyên trở thành INT (BIGINT khi bất kỳ giá trị nào vượt 2.147.483.647), các số có phần thập phân trở thành DECIMAL(p,s) được đặt kích thước theo số chữ số nguyên và thập phân rộng nhất bạn cung cấp (hoặc DOUBLE / REAL khi bạn chọn chế độ số thực), boolean ánh xạ sang TINYINT(1)/BOOLEAN, các chuỗi ISO 8601 ánh xạ sang DATETIME hoặc DATE, các đối tượng và mảng lồng nhau trở thành JSON/JSONB, và các chuỗi còn lại trở thành VARCHAR(N) trong đó N là lũy thừa của hai kế tiếp trên giá trị dài nhất (TEXT một khi vượt 255). Một cột null hoặc thiếu ở bất kỳ hàng nào được để NULLABLE; ngược lại nó là NOT NULL. Một cột duy nhất, không-null tên id hoặc uuid được nâng thành PRIMARY KEY, với AUTO_INCREMENT / SERIAL / AUTOINCREMENT được thêm cho các khóa số nguyên.

Một công tắc dialect viết lại các kiểu cho MySQL, PostgreSQL (SERIAL, JSONB, TIMESTAMP, DOUBLE PRECISION), hoặc SQLite (các affinity INTEGER / REAL / TEXT) và đặt định danh trong dấu phân cách đúng (dấu backtick cho MySQL, dấu ngoặc kép ở nơi khác). Bật tùy chọn INSERT để cũng phát ra một câu lệnh INSERT cho mỗi hàng, với chuỗi, boolean, số, và các giá trị JSON được escape và đặt trong dấu ngoặc cho dialect đã chọn.

Câu hỏi thường gặp

Nó mong đợi đầu vào gì?
Một mảng JSON các đối tượng phẳng, chẳng hạn các hàng từ một API hoặc bản export, hoặc một đối tượng JSON đơn được coi như một bảng một hàng. Tất cả các khóa trên các hàng được hợp lại để tạo thành các cột; các phần tử không phải đối tượng bị từ chối.
Kiểu cột được chọn như thế nào?
Cho mỗi cột, từ mọi giá trị được thấy: toàn-số-nguyên sang INT/BIGINT, thập phân sang DECIMAL(p,s) hoặc DOUBLE, boolean sang TINYINT(1)/BOOLEAN, ngày-giờ ISO sang DATETIME/DATE, đối tượng/mảng sang JSON, và các chuỗi khác sang VARCHAR(N) (TEXT trên 255 ký tự).
Những dialect SQL nào được hỗ trợ?
MySQL, PostgreSQL, và SQLite. Công tắc dialect viết lại tên kiểu (SERIAL, JSONB, TIMESTAMP cho Postgres; các affinity INTEGER/REAL/TEXT cho SQLite) và dùng cú pháp đặt dấu định danh và tự-tăng đúng.
Khóa chính được quyết định như thế nào?
Nếu một cột tên id hoặc uuid hiện diện và không-null ở mọi hàng với các giá trị duy nhất, nó được đánh dấu PRIMARY KEY. Một khóa số nguyên cũng nhận AUTO_INCREMENT (MySQL), SERIAL (PostgreSQL), hoặc AUTOINCREMENT (SQLite).

Công cụ khác