Bulk INSERTでのカラムマッピングとリネーム
JSONキーを異なるSQLカラム名にマッピングし、不要なカラムを除外し、カラムマッピング機能でINSERT出力をカスタマイズします。
詳細な説明
カラムマッピング:データの再構成
カラムマッピング機能を使用すると、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_name、age) - 冗長なデータ(
created_by_idがある場合のcreated_by_name)
マッピングセクションでカラムのチェックを外すとINSERT出力から除外されます。「全選択」「全解除」ボタンで大量のカラムセットを素早く管理できます。
例
以下のJSONの場合:
[
{ "userId": 1, "firstName": "Alice", "lastName": "Smith", "_internal": "xyz", "score": 95 }
]
マッピング:userId → user_id、firstName → first_name、lastName → last_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生成時にキーを変換できます。