Excel 转 SQL 使用教程

本教程介绍新版 Excel 转 SQL 界面:顶栏配置、映射矩阵与 SQL 输出,手把手完成 INSERT、UPDATE、DELETE、SELECT 脚本生成。

界面截图

以下为工具主要界面截图,便于对照各配置区域。

映射矩阵
映射矩阵 脚本列、选用、生成数据、WHERE 与示例数据对照配置。
生成类型
生成类型 在顶栏选择 INSERT、UPDATE、DELETE 或 SELECT。
数据库与选项
数据库与选项 选择数据库类型,勾选建表语句、批量插入、字段名加引号。

1. 准备 Excel 或 CSV 文件

第一行必须是列名,从第二行起为数据。列名建议与数据库字段一致;日期建议 yyyy-MM-dd 格式。CSV 使用 UTF-8、逗号分隔。重复表头会自动重命名(如 CreatedBy_2)。

2. 顶栏配置

上传后在顶栏选择 Sheet、生成类型(INSERT / UPDATE / DELETE / SELECT)、操作表名与数据库类型。可勾选「包含建表语句」「批量插入」「字段名加引号」。表名以 # 开头将生成临时表脚本。

3. 配置映射矩阵并生成 INSERT

在映射矩阵的「脚本列」填写目标字段名,「选用」勾选参与 INSERT 的列。「生成数据」可为列指定 GUID、Today 或固定 1 / 0。列头可拖动排序、向下删除、右侧调整列宽。

INSERT INTO dbo.Users (Name, Email, Age) VALUES ('张三', 'zhang@example.com', 28);
INSERT INTO dbo.Users (Name, Email, Age) VALUES ('李四', 'li@example.com', 32);

4. 生成 UPDATE 脚本

选择 UPDATE 类型后,分别勾选 SET 列(要更新的字段)和 WHERE 列(定位条件)。同一列不能同时用于 SET 和 WHERE。通常用主键或唯一标识作为 WHERE 列。

UPDATE dbo.Users SET Email = 'new@example.com', Age = 29 WHERE UserId = 1001;
UPDATE dbo.Users SET Email = 'updated@example.com' WHERE UserId = 1002;

5. 生成 DELETE 脚本

选择 DELETE 类型,勾选作为 WHERE 条件的列。每行生成一条 DELETE 语句。生产环境执行前务必先在测试库验证,建议先备份数据。

DELETE FROM dbo.Orders WHERE OrderId = 'ORD-2024-001';
DELETE FROM dbo.Orders WHERE OrderId = 'ORD-2024-002';

6. 执行脚本

复制或下载 .sql,在 SSMS、Navicat 等客户端中执行。大文件建议分批执行。

实用技巧

  • 表名以 # 开头时自动附加 CREATE TABLE、SELECT 与 DROP 临时表语句。
  • 「生成数据」选 GUID / Today 时忽略 Excel 单元格,直接生成对应 SQL 表达式。
  • 单元格为空或显示 NULL 时输出 SQL NULL,不会生成字符串 'NULL'。
  • 列较多时默认列宽 160px,可横向滚动并在列头右侧拖动调整宽度。
  • 超过 500 行预览建议下载 .sql 文件,避免浏览器卡顿。
  • 处理完成后文件立即从服务器删除,不保留表格内容。