Bulk INSERTでのカラムマッピングとリネーム

JSONキーを異なるSQLカラム名にマッピングし、不要なカラムを除外し、カラムマッピング機能でINSERT出力をカスタマイズします。

Advanced

詳細な説明

カラムマッピング:データの再構成

カラムマッピング機能を使用すると、JSONキーをSQLカラム名に変換し、不要なカラムを除外し、INSERT出力の内容を正確に制御できます。

カラムのリネーム

JSON APIは多くの場合camelCaseを使用しますが、SQLデータベースはsnake_caseを好みます:

JSONキー SQLカラム
firstName first_name
lastName last_name
emailAddress email_address
createdAt created_at

ツールは各JSONキーに対して編集可能なテキストフィールドを表示し、希望するSQLカラム名を入力できます。

カラムの除外

一部のJSONフィールドはSQLテーブルに含めるべきではない場合があります:

  • 内部IDやメタデータ(_id__v_etag
  • 計算フィールド(full_nameage
  • 冗長なデータ(created_by_idがある場合のcreated_by_name

マッピングセクションでカラムのチェックを外すとINSERT出力から除外されます。「全選択」「全解除」ボタンで大量のカラムセットを素早く管理できます。

以下のJSONの場合:

[
  { "userId": 1, "firstName": "Alice", "lastName": "Smith", "_internal": "xyz", "score": 95 }
]

マッピング:userIduser_idfirstNamefirst_namelastNamelast_name_internal除外、scoreはそのまま:

INSERT INTO "students" ("user_id", "first_name", "last_name", "score")
VALUES
  (1, 'Alice', 'Smith', 95);

マッピングと型推論

カラムをリネームしても型推論には影響しません。ツールはSQLカラム名に関係なく、JSON値から型を推論します。型をオーバーライドする必要がある場合は、CREATE TABLEトグルを使用して出力を手動で編集してください。

マッピングの保持

カラムマッピングはJSON構造が同じである限り保持されます。JSON入力を更新しても同じキーが維持されている場合、カスタムカラム名や含む/除外の選択は保持されます。

ユースケース

フロントエンドチームがcamelCaseキーで分析データをエクスポートしているが、データウェアハウスはsnake_case規約を使用している場合。カラムマッピングにより、ソースJSONを変更せずにINSERT生成時にキーを変換できます。

試してみる — JSON to Bulk INSERT

フルツールを開く