UTILS.
100% di peramban
🗄

JSON ke SQL CREATE TABLE

Simpulkan SQL CREATE TABLE (dan INSERT opsional) dari array JSON berisi objek, memilih tipe kolom secara otomatis untuk MySQL, PostgreSQL, atau SQLite.

— keluaran muncul di sini —

Tentang alat ini

Alat JSON ke SQL CREATE TABLE membaca array JSON berisi objek (atau satu objek) dan menyimpulkan definisi tabel SQL yang cocok, memilih tipe setiap kolom dari nilai yang benar-benar dilihatnya. Ia berjalan sepenuhnya di browser Anda — JSON di-parsing dengan JSON.parse native dan tidak pernah meninggalkan perangkat Anda — sehingga Anda dapat menempel dump API atau ekspor basis data dan membuat kerangka tabel dalam satu langkah.

Tipe kolom disimpulkan per field di seluruh baris: nilai yang semuanya bilangan bulat menjadi INT (BIGINT ketika nilai apa pun melebihi 2.147.483.647), angka dengan desimal menjadi DECIMAL(p,s) yang diukur berdasarkan jumlah digit bilangan bulat dan pecahan terlebar yang Anda berikan (atau DOUBLE / REAL ketika Anda memilih mode float), boolean dipetakan ke TINYINT(1)/BOOLEAN, string ISO 8601 dipetakan ke DATETIME atau DATE, objek dan array bersarang menjadi JSON/JSONB, dan string sisanya menjadi VARCHAR(N) di mana N adalah pangkat dua berikutnya di atas nilai terpanjang (TEXT setelah melebihi 255). Kolom yang null atau hilang di baris mana pun dibiarkan NULLABLE; jika tidak, ia NOT NULL. Kolom unik dan non-null bernama id atau uuid dipromosikan menjadi PRIMARY KEY, dengan AUTO_INCREMENT / SERIAL / AUTOINCREMENT ditambahkan untuk kunci integer.

Sakelar dialek menulis ulang tipe untuk MySQL, PostgreSQL (SERIAL, JSONB, TIMESTAMP, DOUBLE PRECISION), atau SQLite (afinitas INTEGER / REAL / TEXT) dan mengutip pengidentifikasi dengan delimiter yang tepat (backtick untuk MySQL, tanda kutip ganda di tempat lain). Aktifkan opsi INSERT untuk juga menghasilkan satu statement INSERT per baris, dengan string, boolean, angka, dan nilai JSON di-escape dan dikutip untuk dialek yang dipilih.

Pertanyaan yang sering diajukan

Input apa yang diharapkan?
Array JSON berisi objek datar, seperti baris dari API atau ekspor, atau satu objek JSON yang diperlakukan sebagai tabel satu-baris. Semua kunci di seluruh baris digabung untuk membentuk kolom; elemen non-objek ditolak.
Bagaimana tipe kolom dipilih?
Per kolom, dari setiap nilai yang terlihat: semua-bilangan bulat ke INT/BIGINT, desimal ke DECIMAL(p,s) atau DOUBLE, boolean ke TINYINT(1)/BOOLEAN, tanggal-waktu ISO ke DATETIME/DATE, objek/array ke JSON, dan string lain ke VARCHAR(N) (TEXT di atas 255 karakter).
Dialek SQL mana yang didukung?
MySQL, PostgreSQL, dan SQLite. Sakelar dialek menulis ulang nama tipe (SERIAL, JSONB, TIMESTAMP untuk Postgres; afinitas INTEGER/REAL/TEXT untuk SQLite) dan menggunakan pengutipan pengidentifikasi serta sintaks auto-increment yang benar.
Bagaimana primary key ditentukan?
Jika kolom bernama id atau uuid ada dan non-null di setiap baris dengan nilai unik, ia ditandai PRIMARY KEY. Kunci integer juga mendapatkan AUTO_INCREMENT (MySQL), SERIAL (PostgreSQL), atau AUTOINCREMENT (SQLite).

Alat lainnya