You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过单条INSERT语句批量将Excel家长数据导入SQL数据库?

批量导入Excel数据到SQL Server的实用方案(无需手动编写2643条INSERT)

方法1:单条INSERT语句批量插入

SQL Server支持在单条INSERT中传入多组VALUES,只需生成一个包含所有数据的语句即可,不用逐条编写。

语法示例:

USE [XSchoolContactInfoDB]
GO

INSERT INTO [dbo].[Parents] ([ParentId], [ParentTitle], [ParentName], [ParentSurname], [CellPhone], [LearnerID])
VALUES 
    (1, 'Mr', 'John', 'Doe', '0123456789', 1001),
    (2, 'Mrs', 'Jane', 'Smith', '0987654321', 1002),
    -- 继续添加剩余2641组数据
GO

快速生成多组VALUES的技巧:

  1. 打开Excel数据文件,确保列顺序和SQL表字段对应(ParentId、ParentTitle等)
  2. 新增辅助列,用公式拼接每组数据的格式:
    示例公式(根据你的Excel列位置调整A2-F2):
    = "(" & A2 & ", '" & B2 & "', '" & C2 & "', '" & D2 & "', '" & E2 & "', " & F2 & "),"
    
    (字符串类型需加单引号,数字类型直接保留)
  3. 下拉公式覆盖所有数据行,复制辅助列内容粘贴到SQL的VALUES后,最后删除最后一组末尾的逗号即可。

方法2:用OPENROWSET直接读取Excel(高效省时间)

如果SQL Server能访问Excel文件路径,可直接通过查询导入,无需手动拼接数据:

USE [XSchoolContactInfoDB]
GO

INSERT INTO [dbo].[Parents] ([ParentId], [ParentTitle], [ParentName], [ParentSurname], [CellPhone], [LearnerID])
SELECT 
    ParentId, ParentTitle, ParentName, ParentSurname, CellPhone, LearnerID
FROM OPENROWSET(
    'Microsoft.ACE.OLEDB.12.0',
    'Excel 12.0 Xml;HDR=YES;Database=C:\你的文件路径\ParentContacts.xlsx',
    'SELECT * FROM [Sheet1$]'
);
GO
  • 注意:需确保SQL Server服务有权限访问文件路径,且安装了Microsoft Access Database Engine驱动。

方法3:SQL Server导入导出向导(适合培训演示)

  1. 打开SQL Server Management Studio(SSMS),连接到目标数据库
  2. 右键点击XSchoolContactInfoDB → 任务 → 导入数据
  3. 数据源选择「Microsoft Excel」,选中你的Excel文件,勾选「第一行包含列名称」
  4. 目标选择你的SQL Server数据库,匹配Excel列与SQL表字段
  5. 按向导完成导入,全程可视化操作,适合培训场景展示

内容的提问来源于stack exchange,提问作者Andries Gous

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 22:13:09