CSVからSQL INSERT生成
CSVの列名と型を指定し、PostgreSQL・MySQL・SQLite向けINSERT文を生成します。識別子、文字列、NULL、数値を区別し、接続・実行は行いません。
データを実行前確認用のSQL文字列へ整える
既存テーブルの列へ少量のデータを転記するため、CSVと列型からINSERT文を作ります。数値は入力リテラルを保持し、文字列はdialect固有のエスケープを使います。生成したSQLを自動で実行する機能はありません。
SQL IN句生成は条件値のリスト、CSV→JSONはデータ形式変換です。こちらは明示したテーブルと列型に対するINSERT文の下書きを作ります。
ツール本体
入力・操作・結果
上から入力し、必要な操作を行って、表示された結果と次の操作を確認してください。
入力と結果はこの画面のメモリ内で処理します。ページを再読み込みすると入力は消えます。コピーは利用者の操作で行います。
入力データは原則ブラウザ内で処理し、URLやアクセス解析へ保存しません。ページを更新すると入力は失われます。機密情報は入力しないでください。
使い方
- dialectとASCIIテーブル名、見出し付きCSVを指定します。
- 列と同じ順序でstringまたはnumberを指定し、空セルのNULL方針を選びます。
- 生成SQLを実際のテーブル定義・権限・文字コードに照らして確認します。
例: SQLiteの文字列O'Brienは'O''Brien'と引用します。number列の9007199254740993は浮動小数点へ書き換えず、その文字列を出力します。
PostgreSQLはE文字列でバックスラッシュもエスケープ、MySQLはSQL modeの差を避けるためUTF-8 hexをCONVERT、SQLiteは単一引用符を二重化します。
このツールを使う場面
- 確認できること
- 明示したSQL dialect向けのINSERT文を生成
- 使う前に見るポイント
- dialectとASCIIテーブル名、見出し付きCSVを指定します。
- 結果を見たあとにやること
- PostgreSQLはE文字列でバックスラッシュもエスケープ、MySQLはSQL modeの差を避けるためUTF-8 hexをCONVERT、SQLiteは単一引用符を二重化します。
このツールを含む進め方
作業全体に戻る場合は、近い課題別ページを開いてください。
CSV・JSONデータを受け取ったときの確認手順
受け取ったデータは、見た目が整っていても列順、キー、型、改行で壊れていることがあります。先に形式と識別列を確認してから変換へ進みます。
つまずきやすいポイント
入力と計算条件
スキーマ検証、DB接続、SQL実行、日付・boolean・JSON列型、DDL生成はありません。SQLの互換性は対象のDB設定とバージョンで確認が必要です。
境界値・事前チェック項目
対応する範囲
テーブル名63文字、列名UTF-8で63byte、CSV20万文字・100列・1000データ行、出力100万文字まで。型はstring/numberだけ、数値式やNULは拒否します。
よくあるミスと回避策
結果を使う前に
生成結果は確認用です。実行する場合は利用者が対象テーブル、制約、トランザクション、バックアップを別途確認してください。
FAQ
空セルと空文字はどう区別しますか?
空セルをNULLにするか選択します。NULLなしではstring列は空文字、number列の空セルはエラーです。
MySQLの文字列がhexになるのはなぜですか?
バックスラッシュ解釈がSQL modeで変わる問題を避け、UTF-8 bytesを明示して文字列へ変換するためです。
生成時にデータベースへ接続しますか?
接続・実行しません。入力からSQLテキストをブラウザ内で生成するだけです。
基本FAQ
入力データは外部へ送信されますか?
原則として送信されません。入力内容はブラウザ内で処理し、URLやアクセス解析へ保存しません。例外がある場合は各ツールページ内に明記しています。
入力内容は自動保存されますか?
原則として自動保存しません。ページを更新すると入力は失われます。コピーやダウンロードで保存する場合は、ご利用端末内に保存されます。
関連ツール
同じ作業の前後で使うことがあるツールです。