SQL语句如何将Excel表导入到数据库?我要的是SQL语句?

146 2024-01-24 18:18

在查询分析器里,操作数据库对象选择Lee直接写SQL语句:

如果是导入数据到现有表,则采用INSERTINTO表SELECT*FROMOPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)的形式如果是导入数据并新增表,则采用SELECT*INTO表FROMOPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)的形式。以上语句是将EXCEL文件里SHEET1工作表中所有的列都读进来,如果只想导部分列,可以INSERTINTO表(a1,a2,a3)SELECTa1,a2,a3FROMOPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)其实可以将OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)当成一个表,例如我就写过这样一个句子:

INSERTINTOeval_channel_employee(channel,employee_id)SELECTCASEa.渠道WHEN'DIY'THEN1WHEN'RDC'THEN0WHEN'KCM'THEN2ELSE3END,b.idFROMOPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel5.0;HDR=YES;DATABASE=c:\temp\name.xls',sheet1$)ASa,pers_employeebWHEREa.员工编码=b.code简单的方法:SQL2005中直接可以实现导入功能SQL2008不知道可不可以。操作过程如下:

第一步:登录到SQLServerManagementStudio,第二步:在“对象资源管理器”中右键单击“管理”,在弹出列表中单击“导入数据”

第三步:在“导入向导”对话框中单击“下一步”,进入到“选择数据源”对话框,在“数据源”列表中选择“MicrosoftExcel”,同时选择相应的Excel文档,完成后单击“下一步”(一定要勾选该对话框中的“首行包含列名称”,因此它是将Excel文档中的列标题为数据库表中的列项标题)

第四步:指定目标数据库服务,依次单击“下一步”。。。。至到“完成”

第五步:重新打到SQLServerManagementStudio,进入到导入的数据库表,可以发现所导入的Excel文档数据。你试下下面的吧:打开SQLServerConfigurationManager,启用SQLServerAgent(实例名)。启动模式更改为“自动”

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
点击我更换图片