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 つの方言すべてで安全。
使い方
- オブジェクトの JSON 配列(または単一オブジェクト)を貼り付け。
- テーブル名と SQL 方言を設定。
- 複数行 VALUES をトグルして単一文、オフにすると行ごとに INSERT。ON CONFLICT / ON DUPLICATE KEY UPDATE が欲しければ upsert をトグル。
よくある質問
- ネストされたオブジェクトはどう扱われる?
- JSON にシリアライズされ、引用符付きの文字列として挿入される。PostgreSQL と MySQL の `JSON` / `JSONB` 型のカラムはこれらを直接受け入れる;SQLite では TEXT として入る。
- 複数行と行ごとの INSERT の違いは?
- 複数行は単一の `INSERT INTO ... VALUES (…), (…), (…);` を生成し、バルクロードでははるかに高速。行ごとは N 個の文を生成 — 個別の行をコメントアウトしたい、または部分的な失敗を予想するときに便利。