JSONからSQL INSERT(バルク)
大規模なJSON配列をバッチサイズとダイアレクト対応で最適化されたバルクSQL INSERT文に変換します。
このツールについて
JSONからSQL INSERT(バルク)変換ツールは、大規模なJSON配列から 高パフォーマンスなバルクINSERT文を生成するための専用ツールです。 単一行INSERTジェネレーターとは異なり、このツールはデータベースへの ラウンドトリップ数を劇的に削減し、挿入速度を向上させる 複数行VALUES句に特化しています。
JSON配列を貼り付けると、ツールはJSONキーからカラム名を自動検出し、 値からSQL型を推論します。バッチサイズを調整して、数千行を INSERT文あたり50「100、500、または1000行の管理可能なチャンクに 分割できます。ほとんどのデータベースにはクエリサイズや ステートメントあたりのパラメータ数に制限があるため、これは重要です。
ツールは4つのSQLダイアレクトをサポート:MySQL、PostgreSQL、 SQLite、SQL Server。各ダイアレクトは識別子の引用符が異なり (MySQLはバックティック、PostgreSQLはダブルクォート、SQL Serverは 角括弧)、競合解決の構文も異なります。
カラムマッピングではJSONキーを別のSQLカラム名にリネームでき、
含めるカラムの選択、NULL値の3つの処理方法(SQLのNULLキーワード、
カラムのスキップ、DEFAULT)から選べます。オプションで
CREATE TABLE文の生成、トランザクションのラップ、
識別子の引用符の切り替えが可能です。
すべての処理はブラウザ内で完結します。JSONデータがサーバーに 送信されることはなく、ネットワークリクエスト、ログ記録、 サードパーティサービスの関与はありません。本番データでも 安全に使用できます。単純な単一行変換にはJSONからSQL INSERTツール、 データベーススキーマの生成にはJSONからSQLスキーマコンバーターをご利用ください。
使い方
- 左側の**Input (JSON Array)**パネルにJSON配列を貼り付けるか、プリセットボタンをクリックしてサンプルデータを読み込みます。
- Table Nameにターゲットデータベーステーブル名を設定します。
- 正しい引用符と構文のためにSQL Dialect(MySQL、PostgreSQL、SQLite、SQL Server)を選択します。
- Batch Sizeを調整して、各INSERT文に含まれる行数を制御します(例:バッチあたり100行)。
- Column Mappingでカラム名の変更、除外するカラムのチェック解除、またはSelect All / Deselect Allを使用します。
- 必要に応じてON CONFLICT処理(無視またはUpsert)、CREATE TABLE、Quote identifiers、Wrap in transactionを有効にします。
- CopyをクリックするかCtrl+Shift+Cを押して生成されたSQLをコピーします。.sqlをクリックしてファイルとしてダウンロードできます。
人気のバルクINSERT例
よくある質問
バルクINSERTは個別INSERTと比べて何が優れていますか?
バルクINSERT文は複数の行を1つのINSERTの複数行VALUES句に結合します。これによりデータベースが解析・実行するSQL文の数が減り、ネットワークのラウンドトリップが削減され、1行ずつの挿入より10~100倍高速になる可能性があります。
どのバッチサイズを使うべきですか?
最適なバッチサイズはデータベースと各行のサイズによります。一般的なデータではバッチあたり100~500行が一般的です。MySQLにmax_allowed_packet制限(デフォルト4MB)があり、PostgreSQLは大きな文をうまく処理しますが1000行が実用的な上限です。インポート時にエラーが出た場合は、バッチサイズを減らしてみてください。
ON CONFLICT / ON DUPLICATE KEYはどう機能しますか?
競合処理を有効にすると、各INSERT文にUpsert構文が追加されます。PostgreSQLとSQLiteではON CONFLICT (column) DO NOTHINGまたはDO UPDATE SETを使用し、MySQLではINSERT IGNOREまたはON DUPLICATE KEY UPDATEを使用します。競合カラム(通常は主キー)を選択すると、選択したダイアレクトに適切な構文が生成されます。
出力でカラム名を変更できますか?
はい。Column Mappingセクションで各JSONキーの横に編集可能なテキストフィールドが表示されます。名前を変更して、例えば'firstName'というJSONキーを'first_name'というSQLカラムにマッピングできます。
NULL値はどのように処理されますか?
3つのNULL処理戦略から選べます:「NULLキーワード」はリテラルNULLを挿入、「カラムをスキップ」はその行のカラムを完全に省略、「DEFAULTキーワード」はSQLのDEFAULTキーワードを使用してデータベースのカラムデフォルト値を適用します。
データは安全ですか?
はい。すべてのJSON解析とSQL生成はJavaScriptを使用してブラウザ内で完全に実行されます。データがサーバーに送信されることはありません。ツール使用中にブラウザの開発者ツールのネットワークタブで確認できます。
ネストされたJSONオブジェクトや配列に対応していますか?
ネストされたJSONオブジェクトと配列はJSON文字列表現にシリアライズされ、テキスト値として挿入されます。PostgreSQLのJSONBやMySQLのJSON型など、JSONカラムをサポートするデータベースに便利です。
関連ツール
JSON → SQL INSERT変換
JSON配列をSQL INSERT文に変換。一括挿入、テーブル名カスタマイズ、複数SQLダイアレクト対応。
JSON → SQLスキーマ変換
JSONからCREATE TABLE文を生成。MySQL、PostgreSQL、SQLite対応で自動型推論付き。
データベースシードジェネレーター
SQL CREATE TABLEスキーマからリアルなシードデータを生成します。SQL INSERT、JSON、CSV形式でエクスポート可能。
CSV ↔ JSON変換
区切り文字選択、ヘッダー切替、ファイルドラッグ&ドロップでCSVとJSONを変換します。
JSONフォーマッター
JSONの整形、検証、ツリー表示をシンタックスハイライト付きで行えます。