没有 SSMS 导入向导?Excel/CSV 一键生成 SQL Server INSERT 脚本

前言

把 Excel 弄进 SQL Server,很多人第一反应是:

  • 开 SSMS →「导入数据」向导
  • 或者装一堆驱动、配数据源,搞半小时

实际开发里更常见的是:

  1. 测试环境造数 :产品给一张表,要进 dbo.Users
  2. 脚本要进 Git:评审、回放,不能只靠向导点一点
  3. 只有 CSV:编码一乱,中文全变问号
  4. 机器上没装完整导入组件,或权限不允许随便连外部 Excel

更稳的做法是:先把表格变成 可执行的 .sql,在测试库用 SSMS / Azure Data Studio 跑一遍,再决定是否上生产。

我用的是站内 Excel 转 SQL ,数据库选 SQL Server 即可;也有专页说明。

SQL Server 专页: https://www.comtools.cn/excel-to-sql-server

通用工具(方言里选 SQL Server): https://www.comtools.cn/excel-to-sql


一、适合谁?

角色 场景
后端 / 全栈 种子数据、配置表初始化
测试 多环境重复灌数
DBA / 运维 评审 INSERT 脚本、临时表中转
数据分析 业务 Excel 进库后再查

不适合:每天百万行的正式 ETL(那该用 SSIS / 管道);适合 一次性、可评审、可版本管理 的导入。


二、SQL Server 侧你能得到什么?

能力 说明
dbo.表名 顶栏直接填 dbo.Users
#临时表 表名以 # 开头,可配合 CREATE TABLE
Unicode 字符串 常见输出为 N'...'
空单元格 输出 SQL NULL
INSERT / UPDATE / DELETE / SELECT 同一工具切换语句类型
批量 INSERT 多行 VALUES,减少语句条数
CREATE TABLE 需要 staging 表时勾选

生成示意:

sql 复制代码
INSERT INTO dbo.Users (UserId, Name, Email)
VALUES (1001, N'张三', N'zhang@example.com');
INSERT INTO dbo.Users (UserId, Name, Email)
VALUES (1002, N'李四', N'li@example.com');

三、操作步骤(对准 SSMS)

1. 整理 Excel / CSV

  • 第一行表头,与字段名尽量一致(不一致可在映射里改)
  • CSV 建议 UTF-8;有 BOM 一般也能识别
  • 去掉合并单元格、空表头行

2. 上传并选 SQL Server

打开 https://www.comtools.cn/excel-to-sql-server 或主工具页,上传文件后:

  • 数据库类型:SQL Server
  • 语句类型:造数选 Insert
  • 表名:dbo.YourTable#ImportBatch

3. 映射列

  • Include:参与插入的列
  • 生成数据:可用 GUID / Today 等(不读单元格)
  • UPDATE/DELETE 时务必设好 WHERE 列(主键或业务唯一键)

4. 生成 → 下载 → SSMS 执行

  1. Generate SQL
  2. 行数多就 下载 .sql,别只靠复制预览
  3. 测试库 打开 SSMS 执行
  4. 抽查行数、SELECT TOP 100、必要索引与约束

生产前:备份 ;大脚本 分批;可用事务包一层,失败回滚。


四、临时表中转怎么用?

适合:先导入 #Staging,清洗后再 INSERT INTO dbo.正式表 SELECT ...

  1. 表名填 #StagingUsers
  2. 勾选 CREATE TABLE + INSERT
  3. 在 SSMS 同一会话执行(# 临时表会话级)
  4. 校验后再写入正式表

五、常见坑

1. 中文乱码

优先 UTF-8 CSV;或直接用 .xlsx。在 SSMS 看结果集编码是否正常。

2. 主键冲突

导入前用去重工具清 Email / 业务键:https://www.comtools.cn/excel-remove-duplicates

3. 误删 / 误更新

DELETE、UPDATE 必须有 WHERE 列 ;工具也不会生成无条件全表 DELETE。先 SELECT 预览影响行数。

4. 脚本过大

分文件生成,或开批量 INSERT 后仍按批次执行;避免一次粘贴几十万行到查询窗口。


六、和「导入向导」怎么选?

SSMS 导入向导 生成 .sql 再执行
速度(小表)
可进 Git / Code Review
多环境复现
无完整导入组件 可能不可用 浏览器即可生成
超大持续同步 更合适用管道 仅适合中小批量

结论:要可重复、可评审 → 脚本;要点几下完事且环境齐全 → 向导。


七、相关链接

用途 链接
SQL Server 专页 https://www.comtools.cn/excel-to-sql-server
通用 Excel 转 SQL https://www.comtools.cn/excel-to-sql
INSERT 说明 https://www.comtools.cn/excel-to-sql-insert
图文教程 https://www.comtools.cn/excel-to-sql/tutorial
CSV 直接转 SQL https://www.comtools.cn/csv-to-sql
Excel 工具箱 https://www.comtools.cn/Tools/Excel

站内还有更细的导入注意事项文(编码、类型、分批),可在工具页底部或博客区找到。


八、小结

没有导入向导、或不想依赖向导时:

Excel/CSV → 选 SQL Server → 生成 INSERT → 测试库 SSMS 执行 → 再上生产。

免费、免注册;脚本可留档、可复跑。

开始生成: https://www.comtools.cn/excel-to-sql-server


工具免费使用。若你更关心「通用 Excel 转 INSERT(多数据库)」,可看姐妹篇或直接打开:https://www.comtools.cn/excel-to-sql

相关推荐
admin0057 小时前
Excel记账和财务软件记账哪个好?效率与准确率真实对比
excel·excel记账·财务软件记账·小微企业记账
Python私教14 小时前
Excel 和群聊什么时候该升级成管理系统?7 个判断信号
excel·管理系统·权限设计
鲲穹AI种草14 小时前
表格数据处理怎么选?多款 Excel 工具能力客观记录
excel·表格数据处理
AI英德西牛仔15 小时前
Claude导出word指令的PC端最优解:AI导出鸭电脑版底层逻辑全拆解
人工智能·word·excel·deepseek·ai导出鸭
toooooop816 小时前
踩坑:PHP7.2导出Excel正常,升级7.3文件损坏需修复
android·excel
AI英德西牛仔16 小时前
Gemini 导出 word 指令 时代,PC 端 AI 工作流的最后一块拼图:AI 导出鸭电脑版深度拆解
人工智能·word·excel·deepseek·ai导出鸭
AI导出鸭18 小时前
怎么让Grok做表格?AI导出鸭苹果版通过专属解析引擎,将Grok输出的管道表格智能还原为二维结构,一键导出Excel或Word标准表格。
人工智能·chatgpt·word·excel·ai导出鸭
葡萄城技术团队2 天前
为什么很多企业最终都会重新评估“自研 Excel”的成本?
excel
AI刀刀2 天前
能生成 word 文档的文心在导出时易出现排版错乱,AI 导出鸭精准优化版式,提升文档完整性
人工智能·c#·word·excel·ai导出鸭
AI导出鸭3 天前
怎么让Claude做表格?AI导出鸭苹果版将Claude输出的Markdown表格或结构化列表智能解析为二维数据,一键导出Excel/Word标准表格。
人工智能·chatgpt·word·excel·ai导出鸭