Excel 转 SQL 使用教程

本教程从准备 Excel 表格到在 SQL Server 中执行脚本,手把手教你用 ComTools 将表格数据批量转为 INSERT、UPDATE 或 DELETE 语句。

1. 准备 Excel 或 CSV 文件

第一行必须是列名(表头),从第二行起为数据。列名建议与数据库字段一致,避免特殊字符。日期建议用 yyyy-MM-dd 格式,数值列不要混入文本。CSV 文件使用 UTF-8 编码、逗号分隔。

2. 上传并选择工作表

在工具页面上传 .xlsx 或 .csv 文件。多 Sheet 的 Excel 可在下拉框中切换目标工作表。工具自动读取第一行作为列名,并在列映射区展示所有字段。

3. 生成 INSERT 脚本

选择 INSERT 类型,填写目标表名(如 dbo.Users),勾选要插入的列,点击「生成 SQL」。每一行数据对应一条 INSERT 语句,字符串和日期自动加引号并转义单引号。

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 Server 中执行

复制或下载 .sql 文件,在 SQL Server Management Studio 中打开,先切换到目标数据库(USE YourDatabase),再执行脚本。大文件建议分批执行,避免事务日志暴涨。

实用技巧

  • 表名以 # 开头(如 #temp)时,工具自动在脚本开头生成 CREATE TABLE,末尾追加 SELECT 和 DROP,方便先预览再清理。
  • 数据库列名默认去除 Excel 列名中的空格,可在映射区手动修改为实际字段名。
  • 超过数千行的表格建议分批生成或下载 .sql 文件,避免浏览器卡顿。
  • 处理完成后文件立即从服务器删除,敏感业务数据可放心使用。