跳到正文
SPCX Tools

CSV 转 SQL

快速将 CSV 数据转换为 SQL CREATE TABLE 和 INSERT 语句。

本地运行——文件不会离开你的设备

正在加载工具…

如何使用CSV 转 SQL

  1. 1将 CSV 数据粘贴到输入框中,或点击“示例”查看格式要求。
  2. 2输入目标表名,并选择您使用的数据库类型(MySQL、PostgreSQL、SQLite 或 SQL Server)。
  3. 3切换选项以包含 CREATE TABLE 语句、批量生成 INSERT 语句,或将空单元格处理为 NULL。
  4. 4复制生成的 SQL,或直接下载为 .sql 文件。

快速、私密的 CSV 转 SQL 转换器

将电子表格数据转换为关系型数据库格式是开发者、数据库管理员和数据分析师的日常工作。这款工具可让您直接在浏览器中将 CSV 转换为 SQL。无论您是要初始化新数据库、迁移旧数据,还是快速导入数据集,都能在几秒钟内从 CSV 数据生成 INSERT 语句。

由于整个转换过程都在您的设备上本地运行,因此您的数据绝不会被上传到外部服务器。这确保了绝对的隐私和安全,让您可以放心处理机密的用户数据、财务记录或专有信息,无需担心数据泄露风险。

自动类型推断工作原理

手动为包含几十列的数据集编写表结构非常繁琐。为了节省时间,本工具会自动读取您的 CSV 数据,并为每一列推断出最合适的 SQL 数据类型。它会检查行中的实际值(跳过空单元格),并应用以下规则:

  • INTEGER:如果该列中的所有值均为整数(例如 42、-15),则分配此类型。
  • DECIMAL:如果值为浮点数或使用科学记数法(例如 3.14、-0.5),则分配此类型。
  • BOOLEAN:如果该列仅包含 true 或 false(不区分大小写),则分配此类型。
  • DATE:如果值符合标准 ISO 日期格式(YYYY-MM-DD),则分配此类型。
  • TEXT / VARCHAR:默认后备类型。如果列中包含混合数据、纯文本或不符合上述严格规则的格式,则分配此类型。

如果您选择生成 CREATE TABLE 语句,这些推断出的类型会自动映射为您所选数据库方言的正确语法。

支持的 SQL 方言

不同的数据库引擎在引用标识符(如表名和列名)、定义数据类型以及格式化字面量时有不同的规则。本工具支持四种主流 SQL 方言,确保生成的 SQL 语句运行无语法错误:

MySQL: 当您将 CSV 转换为 MySQL 时,本工具会使用反引号(`)包裹表名和列名。文本列默认使用 VARCHAR(255),布尔值则写为 TRUE 或 FALSE。

PostgreSQL: 标识符使用双引号(")包裹。文本列使用 TEXT 类型,这是 Postgres 中标准且高效的类型。原生支持布尔值,写为 TRUE 或 FALSE。

SQLite: 标识符使用双引号包裹。由于 SQLite 采用动态类型且存储类有限,小数会映射为 REAL,布尔值映射为 INTEGER(输出 1 或 0),文本则使用 TEXT 类型亲和性。

SQL Server (T-SQL): 标识符使用方括号([])包裹。文本列默认使用 VARCHAR(255),布尔值映射为 BIT 数据类型(输出 1 或 0)。此外,如果文本字符串包含非 ASCII 字符,工具会自动添加 N 前缀(例如 N'Value'),以确保正确插入 Unicode (NVARCHAR) 数据。

自定义 SQL 输出

您可以通过配置选项来定制生成的 SQL 脚本,以满足特定的部署需求:

  • 表名: 定义目标表的准确名称。工具会自动根据您选择的 SQL 方言添加正确的引号。
  • 包含 CREATE TABLE: 如果您要从头开始建库,请启用此选项,以便在插入语句前生成表结构定义。工具会默认使用 CSV 的表头作为列名。
  • 批量插入: 逐条执行数千个 INSERT INTO 语句非常耗时。启用此选项后,最多可将 500 行数据合并为一条 CSV 转 SQL 插入语句。这能大幅减小文件体积并显著提升导入性能。
  • 空单元格转为 NULL: 电子表格中常有空白单元格。勾选此选项后,CSV 中的空字符串将被明确转换为 SQL 的 NULL 关键字,而不是向数据库中插入空字符串 ('')。

准备 CSV 数据的技巧

为了获得最佳转换效果,请确保您的 CSV 文件包含表头行。本工具会提取数据的第一行作为 CREATE TABLE 和 INSERT 语句的列名。如果表头为空,将自动命名为 column_1、column_2 等。

如果数据包含逗号、换行符或引号等复杂文本,请确保 CSV 格式正确(通常需将该字段用双引号括起来)。本工具内置强大的 CSV 解析器,能正确处理转义引号和多行字段。

如果需要将数据转换为其他格式,我们的 CSV 转 JSON 或 CSV 转 Excel 转换器可能会对您有所帮助。SQL 生成后,如果需要调整代码缩进或关键字大小写,可以使用 SQL 格式化工具 进行处理。

常见问题

该工具如何推断 SQL 数据类型?
转换器会扫描每列的数据(忽略空单元格)。如果所有值都符合特定模式,它将分配相应的类型:整数设为 INTEGER,浮点数设为 DECIMAL,真/假值设为 BOOLEAN,YYYY-MM-DD 格式设为 DATE。如果数据混合或不符合这些模式,则默认使用 TEXT 或 VARCHAR。
我的 CSV 数据会上传到服务器吗?
不会。所有解析和 SQL 生成均通过 JavaScript 在您的浏览器中本地完成。您的数据绝不会离开您的设备,因此使用本工具处理敏感、机密或专有的数据库记录绝对安全。
“批量”选项有什么作用?
启用后,该工具会将最多 500 行数据合并为一条多行 INSERT 语句。这能显著减小生成的 SQL 文件体积,并加快在数据库中执行脚本的速度。
如何处理空单元格?
如果勾选“空值设为 NULL”,CSV 中的所有空白单元格在 SQL 输出中都会被写为 NULL 关键字。如果未勾选,文本列的空单元格将被视为空字符串 ('');而对于数字列,由于空字符串会导致语法错误,因此仍会保留为 NULL。
为什么切换方言时生成的数据类型会发生变化?
不同的数据库系统使用不同的列类型关键字。例如,布尔列在 PostgreSQL 中表示为 BOOLEAN,而在 SQL Server 中表示为 BIT,在 SQLite 中表示为 INTEGER。该工具会自动调整 CREATE TABLE 语法和数据格式,以匹配所选的方言。