INS

SQL INSERT 生成器

从 CSV 生成 MySQL、PostgreSQL 或 SQLite INSERT

SQL 与数据库
🔒 100% 本地运行 — 你的数据不会离开当前页面
由 Evan 维护•最近更新:2026年9月30日
CSV → INSERT

在浏览器内处理,不保存输入。输入最多 1 MiB、5,000 行、200 列,SQL 输出最多 4 MiB。保留引号字段内的换行;引号错误或记录宽度不一致会报错。

表头会去除两端空白,空表头使用 col_N,重复名称加唯一后缀;请核对结果中的列映射和目标表类型。自动类型会转换 true/false 和安全数字;前导零及不安全数字仍按文本输出。

SQL

点击生成后显示 SQL;编辑输入或设置会清除旧结果。

页面阅读模式

完整说明还包括常见问题处理、操作示例、代码片段、FAQ 和相关工具,便于核对结果或排查问题。

工具说明

SQL INSERT 生成器把分隔文本转换为 MySQL、PostgreSQL 或 SQLite INSERT。工具严格检查引号和记录宽度,保留字段内换行,并显示去除两端空白、空表头及重复表头如何映射为唯一引用列名。默认所有值按文本保留;可选类型识别只转换安全数字和布尔值,前导零标识符与不安全数值仍按文本处理。空字段转 NULL 仅作用于真正的空字段。可选逗号、分号、Tab 或竖线分隔,每条 INSERT 支持 1–1,000 行;输入最多 1 MiB、5,000 行、200 列。列名为 1–63 个 UTF-8 字节,不含控制字符或两端空白;表名使用 ASCII table 或 schema.table。不支持 NUL 与未配对 Unicode 代理项。转换在浏览器内运行,不保存输入;导入前请检查映射列与目标表类型,因为数据库仍可能强制转换值。 SQL 输出上限为 4 MiB;超限时请增加批量行数或减少输入。页面仅预览前 64 KiB,复制和下载包含通过上限检查后的完整结果。

失败门诊(高频踩坑)

小输入生成很大的 SQL 脚本

原因:批量行数为 1 时,每行都会重复表名与列名;稀疏 JSON 还会展开所有已知列。

修复:增加每条 INSERT 行数或减少样本。超过 4 MiB 会整体拒绝,不返回部分 SQL;64 KiB 预览可能短于完整脚本,复制和下载使用完整结果。

生成的列名与已有表不一致

原因:空表头使用 col_N,重复名及大小写变体使用唯一后缀,表头两端空白会去除。

修复:导入前检查映射。把源表头改为现有 schema 的列名,或明确创建映射后的列。

字符串 ID 导入后发生变化

原因:可能启用了自动类型,也可能目标列是数值类型,即使 SQL 输出的是文本表达式仍会被数据库转换。

修复:标识符保持关闭自动类型,并在目标表使用文本列。即使启用自动类型,前导零和不安全数值仍按文本输出。

从电子表格粘贴的数据解析不正确

原因:工具接收分隔文本,不读取 XLSX 文件。分隔符必须与输入一致,每条逻辑记录的列数也必须一致。

修复:粘贴制表数据时选择 Tab,或先导出 CSV。含分隔符或换行的字段需整体加引号,内部引号双写;修正坏记录后再导入。

场景配方

01

保留 ID 和内嵌换行的 CSV 种子脚本

目标:导入两个客户 ID,同时保留前导零和字段中的换行。

  1. 选择目标数据库与已有表;输入表头 id,note,再输入 00123,"line 1<换行>line 2" 和 00456,ok,将 <换行> 替换成真实换行。
  2. 关闭自动类型和空字段转 NULL,将每条 INSERT 行数设为 1,然后生成。
  3. 核对两行数据、两条 INSERT 及列映射;在使用文本列的临时目标表执行,读回 00123、00456 和完整的第一条备注。

结果:得到按目标方言生成、文本值保留原数据的 INSERT 脚本;已有表的字段类型仍可能强制转换值。

生产可用片段

保留文本 ID,并检查重命名后的列

text

CSV:
a,a,a_2,A
00123,second,third,fourth

表头映射:
a   → a
a   → a_3
a_2 → a_2
A   → A_4

关闭自动类型时,00123 保持为文本值。
目标表需要存在映射后的列名。
MySQL 使用 UTF-8 十六进制转文本表达式,
让反斜杠的值不受 NO_BACKSLASH_ESCAPES 影响。

常见问题

支持哪些 SQL 方言?

支持 MySQL、PostgreSQL 和 SQLite。生成前选择目标数据库,字符串表达式和标识符引用会匹配该方言;这里只输出 INSERT,不连接数据库。

00123 的前导零会保留吗?

会,即使启用自动类型也按文本输出。目标表也要使用文本列;数值目标列仍可能把它转换为 123。

空表头或重复表头如何处理?

先去除表头两端空白。空名使用 col_N,重复名及大小写变体会避开所有已有名称,分配唯一后缀。结果显示每一列的源名称与目标名称。

空字段、空白字符和 NULL 文本如何处理?

默认空字段保留空字符串。NULL 选项只转换长度为零的字段,空格仍为文本;字面 null 和 NULL 即使启用自动类型也保持文本。

为什么 CSV 被拒绝?

每条记录需有相同字段数,引号字段内的引号必须双写;请选择与数据匹配的逗号、分号、Tab 或竖线。不支持 XLSX 文件、NUL、超限输入或小数批量行数。

数据会被保存或上传吗?

SQL 在浏览器内生成,不保存输入草稿,也不连接数据库。输入或设置变化会清除旧结果,需要重新生成后才能复制或下载。

继续浏览