代码、数据与二维码工具

CSV 转 SQL 插入语句

在浏览器中将 CSV 记录转换为表定义和分组 INSERT 语句。可选择 SQL 方言、推断简单列类型,数据始终留在本地。

优先本地处理无需注册隐私说明 ↗
未选择文件

UTF-8 逗号分隔数据。带引号的字段可以包含逗号、引号和换行。 最大 10 MB、100,000 条记录和 500 列。

可用点分隔 schema 和表名,例如 public.orders。

粘贴 CSV 或选择文件,然后在本地生成 SQL。

使用步骤

如何使用

  1. 选择 CSV 文件或粘贴逗号分隔文本,并设置表名与 SQL 方言。
  2. 设置首行是否为列名、是否推断类型、空字段处理方式以及每条 INSERT 的记录数。
  3. 生成 SQL 脚本,检查后复制或下载。

支持三种 SQL 方言

可选择 PostgreSQL、MySQL 或 SQLite。标识符按所选方言加引号。MySQL 文本值使用 UTF-8 十六进制表达式,PostgreSQL 使用转义 E 字符串,SQLite 使用重复单引号。

明确的 CSV 和类型规则

支持带引号逗号、双引号转义及引号字段内换行。可选的类型推断识别整数、小数、布尔值和 null;其他值使用文本列。关闭推断后所有列都使用文本类型。推断为数字或布尔类型的列中,空字段会转为 NULL 以保证 SQL 有效;文本列中的空字段默认保留为空字符串,也可选择转为 NULL。

本地处理与输出限制

文件在浏览器中处理,不会上传。输入上限为 10 MB、100,000 条记录和 500 列。每批记录数可调,并生成多行 INSERT。SQL 脚本只是起点,执行前请按数据库 Schema 和 SQL 模式检查。

常见问题

你可能还想知道

工具会把 SQL 执行到数据库吗?

不会,只生成 .sql 脚本。请使用自己的数据库工具检查并执行。

表名和列名如何防止冲突?

标识符按所选方言加引号。带点的表名会拆成 schema 和表名,并分别引用。

CSV 文本值在 SQL 中安全吗?

值会按所选方言转义。MySQL 文本使用 UTF-8 十六进制表达式;PostgreSQL 和 SQLite 使用各自的字符串字面量格式。

CSV 会上传吗?

不会。文件读取、解析、类型推断和 SQL 生成都在浏览器本地完成。