CSVからSQLへのコンバーター
ヘッダー行付きCSVデータをCREATE TABLEおよびINSERT文に変換します。各列の型(INTEGER/REAL/TEXT)を推測し、MySQL/PostgreSQL/SQLiteの識別子クォートを選択し、文字列値をエスケープします。
入力
有効なSQL識別子に変換されます:文字、数字、アンダースコア — 数字で始まることはできません。
オフにすると1行ごとに別のINSERT文を生成します。
出力
このツールを使う他の方法
REST API
curl -X POST https://api.iotools.cloud/v1/tool/csv-to-sql \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"csvInput": "id,name,price\n1,Widget,9.99\n2,\"O'Brien's Gadget\"…",
"tableName": "products",
"dialect": "mysql",
"batchInserts": "true"
}'ご自身のアカウントのキーに差し替えてください。ツールのフィールドがそのままリクエストボディになります——ラッパーはありません。
AIエージェントに依頼する
Use the IOTools `csv-to-sql` tool (CSV to SQL Converter) on this input:
YOUR_INPUT_HEREIOTools MCPサーバーに接続された任意のエージェントにこれを貼り付け、入力内容を追加してください。
埋め込みウィジェット
<iframe
src="https://iotools.cloud/embed/csv-to-sql/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="CSVからSQLへのコンバーター — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>ご自身のページに貼り付けるだけ——無料、キー不要、リンクを掲載するだけです。
| API/MCP 1回あたりの費用 | 5クレジットから |
|---|---|
| クレジットが足りませんか? | 料金を見る |
次の方法でも利用可能
ガイド
CSVデータをコピー&ペースト — スプレッドシートエクスポート、データベースダンプ、手作業で入力したリスト — すると、すぐに実行できるSQLが得られます:列に対応するCREATE TABLEステートメント、その後にすべてのデータ行を読み込むINSERTステートメント。スキーマを手動で書くことなく、新しいデータベーステーブルに数行のデータを入力する最速の方法です。
動作原理
最初の行にヘッダー行を含むCSVを貼り付けます。コンバーターはその行を列名として、その後のすべての行をデータとして処理します。解析はRFC 4180に従います:二重引用符で囲まれたフィールドはコンマや改行を含むことができ、二重引用符で囲まれたフィールド内の""は文字通りの"になります。
型推測は列内のすべての値(空白は無視)を調べ、分類します:
- INTEGER — すべての空でない値は整数(
42、-7)です。 - REAL / DECIMAL / NUMERIC — すべての空でない値は小数点(
9.99、-3.5)を持ちます。正確な型名はダイアレクトによります。 - TEXT / VARCHAR — 整数と小数を混在させる列を含む、その他すべて。
完全に空の列はデフォルトでTEXTになります。空のセルは列の型に関係なく、生成されたINSERTステートメントでNULLになります。
ダイアレクトは識別子クォートと列型名を制御します:
| ダイアレクト | 識別子クォート | INTEGER | REAL/小数 | TEXT |
|---|---|---|---|---|
| MySQL | `バッククォート` |
INT |
DECIMAL(10,2) |
VARCHAR(255) |
| PostgreSQL | "二重引用符" |
INTEGER |
NUMERIC(10,2) |
TEXT |
| SQLite | "二重引用符" |
INTEGER |
REAL |
TEXT |
テキスト値は単一引用符で囲まれ、内部の単一引用符は二重化されます(it'sは'it''s'になります) — すべての主要なデータベースが理解する標準SQL-92エスケープ規則です。
使い方
- CSV(ヘッダー行付き)を入力ボックスに貼り付けます。
- テーブル名を設定します — 入力したものはすべて自動的に有効な識別子に変換されます(英数字以外の文字はアンダースコアになり、数字で始まる名前は先頭アンダースコアが付きます)。
- ターゲットダイアレクトを選択:MySQL、PostgreSQL、またはSQLite。
- バッチINSERTを切り替えて、複数の
VALUES行を持つ単一のINSERTステートメント(コンパクト、ラウンドトリップが少ない)または1行ごとの別のINSERT`ステートメント(確認または部分的に再実行しやすい)から選択します。 - 生成されたSQLをコピーまたはダウンロードします。
FAQ
列の型が間違って検出されますか? 列がフォーマットを混在させている場合 — 一部は整数、一部は小数、または"N/A"などのテキストラベルが時々 — TEXT に戻ります。数値列型を望む場合は、最初にスプレッドシート内の混合列をクリーンアップしてください。
空のセルはどうなりますか? 列の推定型に関係なく、INSERTステートメントでNULLになります。
SQL ServerまたはOracleをサポートしていますか? 現在のところサポートしていません — このツールはMySQL、PostgreSQL、SQLiteを対象としており、自己ホスト型および組み込みユースケースの大多数をカバーしています。
データはどこかにアップロードされますか? いいえ。解析とSQL生成はすべてブラウザで実行されます — CSVデータはデバイスから出ません。