JSONからSQL INSERT(バルク)

大規模なJSON配列をバッチサイズとダイアレクト対応で最適化されたバルクSQL INSERT文に変換します。

このツールについて

JSONからSQL INSERT(バルク)変換ツールは、大規模なJSON配列から 高パフォーマンスなバルクINSERT文を生成するための専用ツールです。 単一行INSERTジェネレーターとは異なり、このツールはデータベースへの ラウンドトリップ数を劇的に削減し、挿入速度を向上させる 複数行VALUES句に特化しています。

JSON配列を貼り付けると、ツールはJSONキーからカラム名を自動検出し、 値からSQL型を推論します。バッチサイズを調整して、数千行を INSERT文あたり50「100、500、または1000行の管理可能なチャンクに 分割できます。ほとんどのデータベースにはクエリサイズや ステートメントあたりのパラメータ数に制限があるため、これは重要です。

ツールは4つのSQLダイアレクトをサポート:MySQLPostgreSQLSQLiteSQL Server。各ダイアレクトは識別子の引用符が異なり (MySQLはバックティック、PostgreSQLはダブルクォート、SQL Serverは 角括弧)、競合解決の構文も異なります。

カラムマッピングではJSONキーを別のSQLカラム名にリネームでき、 含めるカラムの選択、NULL値の3つの処理方法(SQLのNULLキーワード、 カラムのスキップ、DEFAULT)から選べます。オプションで CREATE TABLE文の生成、トランザクションのラップ、 識別子の引用符の切り替えが可能です。

すべての処理はブラウザ内で完結します。JSONデータがサーバーに 送信されることはなく、ネットワークリクエスト、ログ記録、 サードパーティサービスの関与はありません。本番データでも 安全に使用できます。単純な単一行変換にはJSONからSQL INSERTツール、 データベーススキーマの生成にはJSONからSQLスキーマコンバーターをご利用ください。

使い方

  1. 左側の**Input (JSON Array)**パネルにJSON配列を貼り付けるか、プリセットボタンをクリックしてサンプルデータを読み込みます。
  2. Table Nameにターゲットデータベーステーブル名を設定します。
  3. 正しい引用符と構文のためにSQL Dialect(MySQL、PostgreSQL、SQLite、SQL Server)を選択します。
  4. Batch Sizeを調整して、各INSERT文に含まれる行数を制御します(例:バッチあたり100行)。
  5. Column Mappingでカラム名の変更、除外するカラムのチェック解除、またはSelect All / Deselect Allを使用します。
  6. 必要に応じてON CONFLICT処理(無視またはUpsert)、CREATE TABLEQuote identifiersWrap in transactionを有効にします。
  7. CopyをクリックするかCtrl+Shift+Cを押して生成されたSQLをコピーします。.sqlをクリックしてファイルとしてダウンロードできます。

人気のバルクINSERT例

すべてのバルク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カラムをサポートするデータベースに便利です。

関連ツール