跳到主要内容

CSV到SQL转换器

将具有标题行的CSV数据转换为CREATE TABLE和INSERT语句 — 推断每列的类型(INTEGER/REAL/TEXT),选择MySQL/PostgreSQL/SQLite标识符引用,并转义字符串值。

输入

将其清理为有效的SQL标识符:字母、数字、下划线 — 不能以数字开头。

关闭时会为每行生成一条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 调用费用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语句(紧凑、更少往返)或每行单独的INSERT语句(更易于审查或部分重新运行)之间选择。
  5. 复制或下载生成的SQL。

FAQ

会检测到我的列的错误类型吗? 如果列混合格式 — 一些整数、一些小数或偶尔的文本标签(如"N/A") — 它会回到TEXT,因此不会有数值被静默舍入或拒绝。如果要使用数字列类型,请先在电子表格中清理混合列。

空单元格会发生什么? 无论推断的列类型如何,它们在INSERT语句中变成NULL

支持SQL Server或Oracle吗? 目前不支持 — 此工具针对MySQL、PostgreSQL和SQLite,这涵盖了自托管和嵌入式使用情况的绝大多数。

我的数据会上传到任何地方吗? 不会。解析和SQL生成完全在您的浏览器中运行 — 您的CSV数据永远不会离开您的设备。

csvsqldatabaseconverterinsertcreate table

喜欢这些工具?去掉广告吧。

一次性付款即可永久移除您账户中的所有广告。无需订阅,不追踪。