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 個の文を生成 — 個別の行をコメントアウトしたい、または部分的な失敗を予想するときに便利。
- このエスケープだけで、そのまま実行しても安全ですか?
- 単一引用符をエスケープして構文として正しい文にしているだけで、悪意ある入力に対して安全という意味ではありません。生成されたSQLはただのテキストです。実行する前に目を通してください。自分の管理外から来たデータなら、生成した文をコンソールに貼るのではなく、プレースホルダー付きの文か、COPYやLOAD DATAのような一括読み込みで投入してください。
- 数値が引用符で囲まれたり、IDの桁が欠けたりするのはなぜ?
- 型はテーブルではなくJSONに従うからです。JSONで "42" と文字列として書かれていれば、列が整数でも引用符付きのリテラルになります。SQL側でキャストするか、JSONを直してください。大きな識別子は逆の落とし穴です。JSONの数値として届いた時点で、このツールに来る前にすでに末尾の桁を失っている可能性があります。IDを文字列として運ぶべき理由がここにあります。
関連ツール
モックデータジェネレーター
テスト用のリアルなダミーレコードを生成 — 名前・メール・日付・ID・ロレム — JSON / CSV / SQL INSERT で出力。
開発 0 0
CSV → SQL INSERT ジェネレーター
CSV / TSV 行を SQL INSERT 文に変換 — テーブル名・方言別クォート・型推論・複数行モード。
変換 0 0
文字列エスケープ変換
1つの入力で10コンテキスト分のエスケープ出力 — JavaScript、JSON、HTMLエンティティ、URL、SQL、regex、Bash(シングル/ダブルクォート)、C文字列、Unicode \u。必要なものをコピー。
開発 0 0
JSON ↔ YAML コンバーター
JSON と YAML を相互変換 — インデント選択、結果コピー。
変換 0 0
CSV → HTML / Markdown / JSON テーブル
CSV を HTML `<table>`・Markdown テーブル・JSON オブジェクト配列に変換 — 区切り文字を自動検出。
変換 0 0
INI ↔ JSON コンバーター
INI スタイル設定ファイルと JSON の間でラウンドトリップ — セクション、ドット表記ネスト、コメント、値型推論をサポート。
変換 0 0