本文适用于需要将Excel里边的数据导入sql的临时表。主要介绍2种操作方法:拼接法和SSMS引入法
一、拼接法:
- 打开ssms,先创建一张临时表,语句如下:
--创建临时表 CREATE table #temp (fname varchar(100),fnumber varchar(100))
-
打开需要导入的Excel,使用如下方法将需要插入的数据字段拼接起来(本文以2个字段为例);
-
复制拼接字段,替换掉下方语句里边values下面的语句后,执行插入数据库;
--插入临时表数据(每次插入1000条以内数据,超过1000条则分批插入) insert into #temp (fname,fnumber) values ('1000001','S139'), ('1000002','S139'), ('1000003','S139'), ('1000004','L005'), ('1000005','S139'), ('1000006','S139'), ('1000007','S139'), ('1000008','S139'), ('1000009','S139'), ('1000010','S139'), ('1000011','S076'), ('1000012','S139'), ('1000016','S139'), ('1000017','S139'), ('1000019','S139'), ('1000021','S139'), ('1000023','S139'), ('1000024','S139'), ('1000025','S139')--请注意最后一行需要去掉,号
-
执行查询语句看下数据情况;
--查询导入数据 select * FROM #temp
-
用完数据最后记得删除临时表;
--删除临时表 DROP TABLE #temp
二、导入法:
- 准备好导入的excel数据库,列标题和临时表对应;
- 打开ssms,选中数据库,任务-导入数据;
-
下一步;
-
数据源选中“Microsoft Excel”,然后找到之前准备导入的Excel文件,确认好Excel版本,勾选“首行包含列名称”,点击下一步;
如果报错“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”;
请到下面地址下载软件安装后重新尝试;
https://download.csdn.net/download/yangb0803/9179567 - 输入数据库服务器登录信息,验证通过后,选中数据库;
- 选中“复制一个或多个表或视图的数据”,点击下一步;
- 源选择sheet1,目标输入一个现有数据库不存在的表名(如dbo.temp20190426),点击下一步;
- 点击下一步;
- 最后点击“完成”正式启动导入;
- 可以查看数据导入执行情况;
- 最后查询下导入表数据;
- 数据用完以后,记得删掉临时表;
drop TABLE temp20190426