CSV到SQL转换器
将CSV数据导入数据库通常意味着要么启动一个加载工具,要么编写仅适用于本地文件的COPY/LOAD DATA INFILE命令。对于数十、数百乃至数千行的小型数据集,直接粘贴到任意SQL控制台的普通INSERT语句往往更快。本工具接收你的CSV和一个表名,为每一行生成一条INSERT语句:标识符用反引号包裹,值用单引号包裹,可安全执行。
SQL语句的组装方式
-
1
粘贴 CSV 文件
标准CSV格式,可选包含标题行。解析器可处理包含内嵌分隔符的带引号单元格。
-
2
设置表格名称
表格名称中的非字母数字字符均替换为下划线;若为空值,则默认使用`my_table`。
-
3
列来自标题
若启用标题模式,则第1行将作为列列表;否则各列名称分别为`column_1`、`column_2`等。
-
4
每条数据行对应一条INSERT
每一行都会变为`INSERT INTO table (cols) VALUES (...)`。值用单引号包裹,值内部的单引号会被加倍。
方言、引号以及何时该改用其他方案
该生成器面向MySQL风格的SQL:标识符两侧用反引号,值两侧用单引号。大多数数据库只需稍作调整即可接受。
方言速查表
| 数据库 | 标识符引用方式 | 备注 |
|---|---|---|
| MySQL | 反引号 | 原样可用。 |
| MariaDB | 反引号 | 原样可用。 |
| PostgreSQL | 双引号 | 运行前把 ` 替换为 "。 |
| SQLite | 双引号 | 把 ` 替换为 ",或去掉标识符引号。 |
| SQL Server | 方括号 | 把 ` 替换为 [];Unicode 请注意 N'...'。 |
值是如何转义的
所有值都用单引号包裹,值中内嵌的单引号会被加倍(O'Brien 变为 'O''Brien')。这是 SQL-92 的做法,适用于所有主流数据库。该转换器不做类型转换,一切都以字符串字面量输出,因此当列为 INT 时,数据库的隐式转换会把 '42' 转为整数。
干净导入的技巧
- 先创建表。 转换器只输出
INSERT语句,不输出CREATE TABLE。请搭配你手动定义或由 ORM 生成的表结构使用。 - 拆分大文件。 如果你的 SQL 客户端对单条语句大小有限制,每次粘贴 500 至 1000 行。
- 用事务包裹。 超过几百行时,把粘贴的内容用
BEGIN;和COMMIT;(或START TRANSACTION;/COMMIT;)括起来。这比逐条自动提交要快得多。
何时跳过 SQL 生成
如果文件超过约 50,000 行,原生批量加载工具(Postgres 的 COPY、MySQL 的 LOAD DATA INFILE、SQL Server 的 bcp)会比脚本生成的 INSERT 快一个数量级。本工具适合快速导入、填充测试数据和一次性迁移。
常见问题
不。该模块仅输出 INSERT 类型的语句。请提前使用 CREATE TABLE 自定义数据模式,这样您就能自主控制列类型、长度及约束条件,而无需让转换器自行推断。
只需做一项修改:将表格和列名称周围的反引号替换为双引号。数值使用单引号表示,可在任何SQL-92方言中直接运行且保持原样。
值内的单引号会被加倍(如 O''Brien),这是标准的 SQL 转义方式。反斜杠、百分号和下划线则原样传递,它们仅在 LIKE 模式中才具有特殊含义。
会。CSV 文件会发送到我们的服务器以生成 SQL 语句,但不会被存储,也不会被添加到页面链接中。
相关工具
Excel 工作表拆分器
在浏览器中按工作表标签、数据行块或列值拆分 XLSX 或 XLS 工作簿。下载单个 XLSX 或本地 ZIP,无需上传文件。
Excel 工作表合并
在本机合并 XLSX、XLS、XLSM、XLSB 或 ODS 文件。保留独立工作表,或追加表头相同的行,然后下载 XLSX。
字幕转换器
在本地将 SRT 字幕转换为 WebVTT,或将 VTT 转换为 SRT。验证时间码,保留多行文本,然后复制或下载结果。
Word 转 Markdown 转换器
在浏览器中将 Word DOCX 文件转换为整洁的 Markdown,保留标题、列表、链接和简单表格,然后复制或下载可编辑的 .md 文件。
XML 转 CSV 转换器
在浏览器本地把扁平表格结构的 XML 转为逗号分隔的 UTF-8 CSV,并可复制或下载结果。
压缩包解压工具
直接在浏览器中查看 ZIP、JAR、XPI、DOCX、XLSX、PPTX 和 ODT 文件,并逐个下载内部文件,无需上传原始压缩包。