CSV to SQL 转换器

在你的浏览器中将 CSV 转换为面向 MySQL、PostgreSQL、SQLite 或 SQL Server 的 SQL INSERT 语句。你的数据始终保留在你的设备上。

这款 CSV to SQL 转换器完全在你的浏览器中运行。你粘贴或拖入的 CSV 以及它生成的 SQL 绝不会离开你的设备,也不会有任何内容上传到 ArrayKit。

打开 SQL 格式化工具

关于 CSV to SQL 转换器

这款 CSV to SQL 转换器可将 CSV 文件转换为可直接运行的 SQL。粘贴或拖入你的数据,选择一种方言——MySQL、PostgreSQL、SQLite 或 SQL Server——它便会推断每列的类型,按该方言预期的方式为表名和列名加引号,并对每个值进行转义,让单引号、空单元格、数字和布尔值都正确输出。你会得到每行一条 INSERT,或一条批量的多行 INSERT,外加可选的 CREATE TABLE,让你从零开始搭建一套表结构。它专为那些在填充开发数据库、导入电子表格导出数据或编写迁移脚本时,希望 SQL 被自动生成、而不是手打数千个值的开发者而设计。整个转换都在你的浏览器中进行,因此你加载的 CSV 绝不会离开你的设备。

功能特性

如何使用 CSV to SQL 转换器

  1. 粘贴你的 CSV 或选择一个 .csv 文件——保留首行为表头
  2. 选择目标方言:MySQL、PostgreSQL、SQLite 或 SQL Server
  3. 设置表名,如需表结构则开启 CREATE TABLE
  4. 复制生成的 SQL,或将其下载为 .sql 文件

示例

输入

id,name,active
1,O'Brien,true
2,Ada,false

输出

INSERT INTO `my_table` (`id`, `name`, `active`) VALUES (1, 'O''Brien', 1);
INSERT INTO `my_table` (`id`, `name`, `active`) VALUES (2, 'Ada', 0);

O'Brien 中的撇号被转义,布尔值在 MySQL 中变为 1 和 0。

常见错误与故障排除

常见问题

CSV to SQL 转换器如何判定每列的类型?
它会扫描一列中的每个非空单元格。若它们全是整数,则使用整数;若全是带小数的数字,则使用浮点数;若全是 true/false 风格的标记,则使用布尔值;否则使用文本。像 007 这样的补零数字会保持为文本,以免丢失前导零。
我的数据中的单引号和撇号会如何处理?
字符串值会被单引号包裹,任何内嵌的单引号都会被翻倍(''),这是标准的 SQL 转义。因此 O'Brien 会变成 'O''Brien',并可在全部四种方言中安全运行。
对于空单元格,它会生成什么 SQL?
空单元格以及 NULL、NA 和 N/A 这些标记会变成 SQL 关键字 NULL,而不是空字符串,因此你的行会以真正的 null 而非空文本插入。
它能在插入行的同时创建表吗?
可以。开启 CREATE TABLE 后,它会输出一条带有为你的方言映射的列类型的 CREATE TABLE 语句,然后是 INSERT。MySQL、PostgreSQL 和 SQLite 使用 IF NOT EXISTS,因此脚本可以重复运行。
多行 INSERT 选项有什么用?
默认情况下每一行都是独立的 INSERT 语句,便于阅读和 diff。多行 INSERT 会把许多行组合进一条语句、共用一个 VALUES 列表,这在 MySQL、PostgreSQL 和 SQLite 中能更快地加载大文件。
生成 SQL 时我的 CSV 会被上传吗?
不会。解析和 SQL 生成完全使用 JavaScript 在你的浏览器中运行。你粘贴或拖入的 CSV 绝不会发送到服务器,因此敏感的电子表格导出数据始终保留在你的设备上。

相关工具

全部 ArrayKit 工具