メインコンテンツにスキップ

CSVからSQLへのコンバーター

ヘッダー行付きCSVデータをCREATE TABLEおよびINSERT文に変換します。各列の型(INTEGER/REAL/TEXT)を推測し、MySQL/PostgreSQL/SQLiteの識別子クォートを選択し、文字列値をエスケープします。

入力

有効なSQL識別子に変換されます:文字、数字、アンダースコア — 数字で始まることはできません。

オフにすると1行ごとに別のINSERT文を生成します。

出力

SQL出力
 
役に立ちましたか?

このツールを使う他の方法

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_HERE

IOTools 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エスケープ規則です。

使い方

  1. CSV(ヘッダー行付き)を入力ボックスに貼り付けます。
  2. テーブル名を設定します — 入力したものはすべて自動的に有効な識別子に変換されます(英数字以外の文字はアンダースコアになり、数字で始まる名前は先頭アンダースコアが付きます)。
  3. ターゲットダイアレクトを選択:MySQL、PostgreSQL、またはSQLite。
  4. バッチINSERTを切り替えて、複数のVALUES行を持つ単一のINSERTステートメント(コンパクト、ラウンドトリップが少ない)または1行ごとの別のINSERT`ステートメント(確認または部分的に再実行しやすい)から選択します。
  5. 生成されたSQLをコピーまたはダウンロードします。

FAQ

列の型が間違って検出されますか? 列がフォーマットを混在させている場合 — 一部は整数、一部は小数、または"N/A"などのテキストラベルが時々 — TEXT に戻ります。数値列型を望む場合は、最初にスプレッドシート内の混合列をクリーンアップしてください。

空のセルはどうなりますか? 列の推定型に関係なく、INSERTステートメントでNULLになります。

SQL ServerまたはOracleをサポートしていますか? 現在のところサポートしていません — このツールはMySQL、PostgreSQL、SQLiteを対象としており、自己ホスト型および組み込みユースケースの大多数をカバーしています。

データはどこかにアップロードされますか? いいえ。解析とSQL生成はすべてブラウザで実行されます — CSVデータはデバイスから出ません。

csvsqldatabaseconverterinsertcreate table

ツールが気に入りましたか?広告をなくしましょう。

1回のお支払いでアカウントから広告が完全になくなります。サブスクリプションも追跡もありません。