不只是 INSERT
Excel 转 SQL 除了 INSERT,还支持 UPDATE 和 DELETE。适合这些场景:
- UPDATE:批量修改邮箱、状态、价格等字段
- DELETE:按主键或业务编号清理过期、错误数据
准备 Excel 文件
规则与 INSERT 相同:
- 第一行为列名(表头)
- 从第二行起为数据
- 列名尽量与数据库字段一致
UPDATE 示例表:
| UserId | Age | |
|---|---|---|
| 1001 | new@example.com | 29 |
| 1002 | updated@example.com | 32 |
DELETE 示例表:
| OrderId |
|---|
| ORD-2024-001 |
| ORD-2024-002 |
生成 UPDATE 脚本
- 上传文件,选择目标 Sheet。
- 语句类型选 UPDATE。
- 填写表名,如
dbo.Users。 - SET 列:勾选要更新的字段(Email、Age)。
- WHERE 列:勾选定位条件(UserId)。
- 点击生成。
输出示例:
UPDATE dbo.Users SET Email = 'new@example.com', Age = 29 WHERE UserId = 1001;
UPDATE dbo.Users SET Email = 'updated@example.com', Age = 32 WHERE UserId = 1002;
同一列不能同时用于 SET 和 WHERE。
生成 DELETE 脚本
- 语句类型选 DELETE。
- 填写表名,如
dbo.Orders。 - 勾选 WHERE 条件列(OrderId)。
- 每行数据生成一条 DELETE。
输出示例:
DELETE FROM dbo.Orders WHERE OrderId = 'ORD-2024-001';
DELETE FROM dbo.Orders WHERE OrderId = 'ORD-2024-002';
安全建议
- 先在测试库执行,确认影响行数与预期一致。
- DELETE 前建议
SELECT COUNT(*)验证 WHERE 条件。 - 生产环境操作前备份数据库或相关表。
- 大批量脚本分批执行,每批 500~1000 行。
临时表技巧
表名以 # 开头(如 #Preview)时,工具会自动:
- 在脚本开头生成
CREATE TABLE - 输出 INSERT 预览数据
- 末尾追加
SELECT与DROP
方便先导入临时表检查,再写正式 UPDATE/DELETE。