ZeroTool Workbench
CSV 转 SQL 转换器
在浏览器中即时将 CSV 数据转换为 SQL INSERT 语句,支持 MySQL、PostgreSQL、SQLite 方言,处理引号字段、NULL 值和批量模式。免费,无需注册。
使用方法
- 将 CSV 数据粘贴到 CSV 输入区域,或点击 上传 CSV 加载文件。
- 选择 SQL 方言(MySQL、PostgreSQL 或 SQLite)。
- 输入表名,默认为
my_table。 - 选择批量 INSERT(单条语句含多行)或逐行 INSERT(每行单独一条语句)。
- SQL 输出会即时更新,点击复制即可复制到剪贴板。
SQL 方言差异
| 方言 | 标识符引号 | 示例 |
|---|---|---|
| MySQL | 反引号 | INSERT INTO |
| PostgreSQL | 双引号 | INSERT INTO “users” (“name”) VALUES (‘Alice’); |
| SQLite | 双引号 | INSERT INTO “users” (“name”) VALUES (‘Alice’); |
NULL 值处理
- CSV 中的空字段会输出为不带引号的
NULL。 - 仅包含空格的字段视为字符串,不会转换为 NULL。
- 纯数字值(整数和小数)不加引号,以数值类型存储。
- 其他所有值用单引号包裹,内部的单引号转义为
”。
FAQ
这个工具有什么用?
将 CSV 数据转换为 SQL INSERT 语句。工具读取第一行作为列名,为每个数据行生成 INSERT 语句,并根据所选 SQL 方言正确处理引号和转义。
支持哪些 SQL 方言?
MySQL(反引号标识符)、PostgreSQL(双引号标识符)和 SQLite(双引号标识符)。INSERT 语法相同,区别仅在于标识符的引号方式。
如何处理 NULL 值?
CSV 中的空字段会转换为 SQL 输出中的 NULL(不带引号),这是 SQL 中表示缺失值的标准方式。
批量 INSERT 模式是什么?
批量模式生成单条包含多个值行的 INSERT 语句:INSERT INTO tbl (col1) VALUES ('a'), ('b'), ('c'); — 比逐条执行更高效。
数据会上传到服务器吗?
不会。所有转换都在浏览器中通过 JavaScript 完成,CSV 数据不会传输到任何地方。