CSVからSQL INSERT文を変換するツール
データベースの場合のINSERT文の書式
| データベース | アイデンティファイヤー・クォート | バッチINSERT |
|---|---|---|
| MySQL | `column` | INSERT INTO t VALUES (...), (...) |
| PostgreSQL | "column" | INSERT INTO t VALUES (...), (...) |
| SQLite | "column" | INSERT INTO t VALUES (...), (...) |
| SQL Server | [column] | INSERT INTO t VALUES (...), (...) ご利用にあたっての注意事項や制限が適用されます。 |
| オラクル | "column" | INSERT ALL INTO t VALUES (...) ... SELECT 1 FROM DUAL |
脱出ルール
- シングルクォートは文字列内で二重に記述されます。
'it''s' - MySQL バックティック識別子:
`my column` - SQL サーバーの括弧識別子:
[my column] - PostgreSQL/SQLite/Oracle の引数のダブルクォート記号:
"my column"
コモン・ゴッチャス
- CSVフィールド内のカンマは二重引用符で囲む必要があります。
- ダブルクォート(引用符)が引用されたフィールド内では、二重にエスケープされます。
"" - 空欄はコンテキストに応じてNULLまたは空の文字列を表すことがあります。
- 日付形式はデータベースごとに異なります — データベースのフォーマットに合わせて日付列を確認してください。
- SQL サーバーは、1つのステートメントごとに最大1,000行までのINSERT バッチを制限しています。
- オラクルは標準的な複数行のINSERTをサポートしていません。代わりにINSERT ALL構文を使用します。
ガイド
CSVからSQL INSERT文を変換するツール
CSVデータをMySQL、PostgreSQL、SQLite、SQL Server、およびOracle用のSQL INSERT文に変換します。CSVデータ(列ヘッダーを含む)を貼り付け、バッチインサートやタイプ検出などのオプションを設定し、実行に適したエスケープされたSQLを取得できます。引用符を含むフィールド、埋め込まれたコンマ、NULL値、および各データベースの方言に特有のエスケープも処理します。
使用方法
CSVデータを入力エリアに貼り付けます(最初の行は列ヘッダーでなければなりません)。ターゲットデータベースの種類を選択し、テーブル名を設定し、INSERTスタイル(個別、バッチ、またはチャンク)を選択します。コンバーターは自動的に列のタイプを検出し、適切にエスケープされたSQLを即座に生成します。プレビューで検出された列を確認し、必要に応じてタイプを上書きし、SQL出力のコピーまたはダウンロードを行います。必要に応じて、CREATE TABLE文またはトランザクションラッパーを含めることもできます。
機能
- 5つのデータベースの種類 — MySQL(バックティク識別子)、PostgreSQL(ダブルクォート識別子)、SQLite(ダブルクォート)、SQL Server(ブレット識別子)、およびOracle(INSERT ALL構文)。各データベースに適した正確なエスケープおよび引用規則が適用されます。
- バッチINSERT — 1行ごとの個別INSERT、複数行のバッチINSERT(VALUES句を使用)、またはカスタムサイズのチャンク。SQL Serverでは1ステートメントあたり1000行まで自動制限されます。OracleではINSERT ALL … SELECT FROM dualを使用します。
- 自動タイプ検出 — データ内の整数、浮動小数点数、ブーリアン、NULL、および文字列を自動的に識別します。数字は引用符を除き、文字列は適切にエスケープされ引用符が付与され、NULLは文字列としてのNULLになります。
- 列エディタ — 見出し名、タイプ、サンプル値を含む検出された列をプレビューできます。列名を変更し、SQL生成前にタイプ検出を上書きできます。
- NULL処理 — 空の値がどのように扱われるかを設定できます:SQL NULL、空文字列、または「NULL」というテキストが実際のNULL値として検出されるようにします。
- CREATE TABLE — 必要に応じて、推定された列タイプを各データベースの方言(VARCHAR、INT、DECIMAL、BOOLEANなど)にマップしたCREATE TABLE文を先頭に追加できます。
- トランザクションラッパー — 必要に応じて、BEGIN/COMMITで囲まれた形式で出力がラップされ、原子的な実行が可能になります。
- RFC 4180 CSV解析 — 引用されたフィールドに埋め込まれたコンマ、エスケープされた引用符、フィールド内の改行を処理します。デリミタ(コンマ、タブ、セミコロン、パイプ)を自動検出します。
SQL INSERT文構文
SQL INSERT文はデータベーステーブルに行を追加します。基本的な構文は以下の通りです: INSERT INTO table_name (column1, column2) VALUES ('value1', 'value2'); 文字列値は適切にエスケープされなければなりません — 値内のシングルクォートは2回出現(O’BrienはO”Brienに変換されます)。数値値はクォートなしで挿入されます。NULLはキーワードであり、文字列ではありません。バッチインサートは複数の行を1つの文にまとめてパフォーマンスを向上させます: INSERT INTO table VALUES (...), (...), (...);
