CSV 转 SQL 转换器
将 CSV 转换为 SQL INSERT 语句和可选的 CREATE TABLE,支持 MySQL、PostgreSQL、SQLite 或 SQL Server,并识别数字和布尔值。免费。
完全在浏览器中运行,您的数据不会被上传。
相关工具
查看全部什么是 CSV 转 SQL?
将带表头行的 CSV 数据转换为 SQL 语句:带推断列类型的 CREATE TABLE,以及针对每一行的 INSERT 语句,并按 MySQL、PostgreSQL、SQLite 或 SQL Server 加引号并转义。
如何使用 CSV 转 SQL
- 将 CSV 粘贴到 CSV 输入框中,或使用加载示例或打开文件。
- 选择分隔符、 SQL 方言和表名。
- 切换识别数字和布尔值、包含 CREATE TABLE和多行 INSERT。
- SQL 输出会随你的输入实时更新;可使用复制或下载。
示例
输入
id,name 1,Ada 2,Bob
输出
CREATE TABLE `my_table` ( `id` INT, `name` VARCHAR(255) ); INSERT INTO `my_table` (`id`, `name`) VALUES (1, 'Ada'), (2, 'Bob');
何时使用 CSV 转 SQL
适用于无法使用数据库原生 CSV 加载器(LOAD DATA、COPY、BULK INSERT)的一次性导入。对于数百万行的数据,这些原生加载器要快得多。
CSV 转 SQL 的工作原理
CSV 由 PapaParse 解析,以第一行作为列名。启用类型检测时,只有当单元格是不带前导零的普通整数或小数时才会变成数字(所以 007 保持为文本),true/false 变为布尔值,空单元格变为 NULL。随后会应用与 JSON 转 SQL 工具相同的类型推断、标识符引用和字符串转义。
常见用例
- 把电子表格导出的数据导入开发数据库
- 在代码评审中根据 CSV 创建种子 SQL
- 把参考数据(国家、代码)加载到 SQLite 中
- 以 SQL 的形式与没有 CSV 工具的人共享数据
常见问题
前导零会保留吗?
会,即使开启了类型检测,007 或 01234 这样的值也会保持为字符串。
如果我的 CSV 没有表头怎么办?
列名需要表头行;转换前请先添加一行。
空单元格是如何写出的?
开启类型检测时写成 NULL,关闭时写成空字符串。