Konverter SQL ke JSON (INSERT … VALUES)

Ubah pernyataan SQL INSERT menjadi JSON: VALUES multi-baris, identifier berkutip, kutip ter-escape, NULL, TRUE/FALSE, dan angka, di banyak tabel. Gratis.

Berjalan sepenuhnya di browser Anda. Data Anda tidak pernah diunggah.

Alat Terkait

Lihat Semua

Apa itu SQL ke JSON?

Tempel SQL berisi pernyataan INSERT – dump database, file seed, atau migrasi – dan dapatkan barisnya sebagai JSON. Setiap baris menjadi objek dengan key berupa nama kolom; INSERT ke beberapa tabel menghasilkan objek dengan satu array per tabel.

Cara menggunakan SQL ke JSON

  1. Tempel SQL ke kotak Input SQL, atau gunakan Muat contoh atau Buka file.
  2. Biarkan Escape garis miring terbalik dalam string (MySQL) aktif untuk dump MySQL, atau matikan untuk SQL standar / PostgreSQL.
  3. Pilih Indentasi JSON.
  4. Keluaran JSON diperbarui saat Anda mengetik; gunakan Salin atau Unduh.

Contoh

Masukan
INSERT INTO users (id, name) VALUES (1, 'O''Brien'), (2, NULL);
Keluaran
[
  {
    "id": 1,
    "name": "O'Brien"
  },
  {
    "id": 2,
    "name": null
  }
]

Kapan menggunakan SQL ke JSON

Gunakan untuk mengekstrak data dari dump SQL atau file seed tanpa menjalankan database. Alat ini tidak mengeksekusi SQL: pernyataan SELECT, UPDATE, dan DDL diabaikan, dan fungsi tidak dievaluasi.

Cara kerja SQL ke JSON

Tokenizer membaca string (kutip ganda berulang '', escape garis miring terbalik MySQL opsional, awalan N'…' dan E'…'), identifier berkutip ("…", backtick, […]), angka, dan komentar (--, #, /* */). Parser kemudian mencari INSERT [IGNORE] INTO table [(columns)] VALUES (…), (…) dan melewati semua pernyataan lain. NULL, TRUE, dan FALSE dipetakan ke null dan boolean JSON; bilangan bulat yang terlalu besar untuk JavaScript dipertahankan secara eksak. Ekspresi seperti NOW() dipertahankan sebagai teks sumbernya. Baris tanpa daftar kolom mendapat key column1, column2, …

Kasus Penggunaan Umum

  • Mengubah cuplikan mysqldump menjadi fixture JSON
  • Memeriksa data seed dari file migrasi
  • Memindahkan beberapa baris dari SQL ke penyimpanan NoSQL
  • Memeriksa nilai apa yang sebenarnya dikandung pernyataan INSERT

Pertanyaan Umum

Dialek SQL mana yang berfungsi?

Sintaks INSERT milik MySQL/MariaDB, PostgreSQL, SQLite, dan SQL Server: semua gaya kutip identifier-nya dikenali. Matikan escape garis miring terbalik untuk dump non-MySQL yang berisi path Windows.

Bagaimana dengan INSERT … SELECT?

Hanya daftar VALUES yang berisi data literal; pernyataan INSERT … SELECT dilewati.

Mengapa NOW() berupa string?

Alat ini tidak menjalankan SQL, sehingga ekspresi dipertahankan sebagai teks sumbernya.

Langkah berikutnya yang disarankan

Jelajahi kategori lainnya