AZ Tools

JSON → SQL INSERT

変換

JSON 配列(または単一オブジェクト)を貼り付けて、すぐに実行できる SQL insert を出力。カラムはすべてのキーの和集合;カラムがない行は NULL になる。文字列はシングルクォートでエスケープされ、数値とブール値はリテラルになり、ネストされたオブジェクト / 配列は JSON にシリアライズされる。オプションの `ON CONFLICT`(Postgres / SQLite)または `ON DUPLICATE KEY UPDATE`(MySQL)で、出力を同期ジョブに直接ドロップできる。

SQL(3)
INSERT INTO "users" ("id", "name", "email", "verified", "joined")
VALUES
  (1, 'Alice', 'alice@example.com', TRUE, '2024-01-15'),
  (2, 'Bob', 'bob@example.com', FALSE, '2024-03-22'),
  (3, 'Carol', NULL, TRUE, '2024-06-01');

文字列はシングルクォートの二重化でエスケープされる — 4 つの方言すべてで安全。

使い方

  1. オブジェクトの JSON 配列(または単一オブジェクト)を貼り付け。
  2. テーブル名と SQL 方言を設定。
  3. 複数行 VALUES をトグルして単一文、オフにすると行ごとに INSERT。ON CONFLICT / ON DUPLICATE KEY UPDATE が欲しければ upsert をトグル。

よくある質問

ネストされたオブジェクトはどう扱われる?
JSON にシリアライズされ、引用符付きの文字列として挿入される。PostgreSQL と MySQL の `JSON` / `JSONB` 型のカラムはこれらを直接受け入れる;SQLite では TEXT として入る。
複数行と行ごとの INSERT の違いは?
複数行は単一の `INSERT INTO ... VALUES (…), (…), (…);` を生成し、バルクロードでははるかに高速。行ごとは N 個の文を生成 — 個別の行をコメントアウトしたい、または部分的な失敗を予想するときに便利。

関連ツール