Neatbo.

CSV 转 SQL INSERT

将 CSV 转为可核对的 PostgreSQL 或 MySQL INSERT 脚本,写入现有数据表。

浏览器本地处理输入CSV输出SQL单个文件最多 10 MiB · 最多 1 个
  1. 1添加输入
  2. 2调整设置
  3. 3获取结果

工具输入和文件在当前浏览器处理,不会上传。

输入内容

切换工具时在当前标签页临时保留输入。刷新或关闭后清除,较大的结果可能需要重新生成。

⌘ / Ctrl + Enter 运行
分隔文本来源
0 个字符 · 0 字节

准备 INSERT 脚本

CSV 第一行须对应现有数据表的字段。预览展示数据行与空白单元格将如何处理。

数据库语法

表头会去除首尾空格,再按字段名加引号。非空单元格都生成文本字面量;不会创建表或执行查询。

粘贴 CSV 或选择 UTF-8 CSV/TSV/TXT 文件开始。

正在准备处理工具…

开始之前

将 CSV 数据行生成现有表的 INSERT 脚本。先选择数据库语法、分隔符和空值处理方式,检查样本后再保存脚本。

如何使用

  1. 粘贴带表头的 CSV,或选择一个 UTF-8 CSV、TSV、TXT 文件。
  2. 选择 PostgreSQL 或 MySQL、CSV 分隔符、目标表,以及空白单元格代表空字符串还是 SQL NULL。
  3. 核对数据行、列数、空白单元格统计和 CSV 样本,再生成、检查、复制或下载完整 SQL 脚本。

支持范围与限制

CSV 表头须对应现有表的字段。表头去除首尾空格;表名可包含一层库名或模式名并分别加引号。不会创建表或连接数据库。

非空单元格都生成文本字面量。空白单元格可选择空字符串或 SQL NULL;原文 NULL 仍为文本。执行前请核对字段类型和约束。

PostgreSQL 中的反斜杠和换行使用 E 字符串转义;MySQL 中的反斜杠或换行值使用 UTF-8 十六进制字面量,避免 SQL 模式差异;目标连接须接受 UTF-8。

最多 200,000 个 CSV 单元格、1,000 列;粘贴限 1 MiB,单个 UTF-8 文件限 10 MiB,SQL 输出限 20 MiB。每条 INSERT 最多 500 行。

操作示例

示例输入

name,age
Mori,3
示例参数
{"table":"records","dialect":"postgres"}

示例输出

INSERT INTO "records" ("name", "age") VALUES
('Mori', '3');

出现问题时

遇到 CSV 引号错误、行列数不一致或重复表头时先修正输入。执行前请核对完整脚本和目标表结构。

常见问题

会创建表或导入数据吗?

不会。只生成现有表的 INSERT 文本,不连接或修改数据库。执行前请确认表头与目标字段匹配。

空白单元格和数据类型怎样处理?

真正空白的单元格可选空字符串或 SQL NULL。其他 CSV 值都作为文本加引号,包括数字和 NULL 一词;目标字段类型须能接受。

输入会发送到服务器吗?

不会。工具输入在浏览器处理,不发送到服务器。同一标签页可暂存工作状态;刷新或关闭后无法恢复,请及时保存需要的结果。

文档与延伸阅读

相关工具