在我们完成一个项目开发之后,通常我们需要把客户的很多数据导入到数据库中,面对大量的数据导入工作,人工导入肯定是不现实,但是这些又是不得不完成的工作,怎么办呢?我们可以利用数据库管理工具提供的数据导入的功能即可。我们这里以SQL SERVE2008为例。SQLSERVER2008有一个“数据导入导出功能”,当然我们也可以打开数据库之后,在数据库上点击右键,然后选择“任务”,选择“导入数据”,我们就看到弹出淡入数据的对话框:
这里我们主要导入数据的源格式是EXCEL的,在excel文件中,我们通常需要整理成数据表格的形式,excel中的数据不要出现合并的单元格等,必须是和数据库表对应的一条条记录的形式。在上图中我们先选择数据源为excel,然后再选择excel文件的路径,在最下面有一个“首行包含列名称”的复选项,默认是选中的,也就是说在导入数据的时候会把excel的第一行当做数据库表的列名称,根据需要进行选择。然后选择下一步:
上图中我们主要完成选择目的数据库,按照需要选择即可。然后我们直接点击下一步,指导出现下面的画面:
这就会打开excel文件的工作薄,我们选择一个工作簿(sheet),如果我们的excel中的数据列和数据库表中的列不是对应,则需要进行调整,上图中先选中一个“源”,然后再选择这个源对应的“目标”,此时按钮“编辑映射”处于可用状态,我们点击这个按钮,出现下图:
在上图中有“删除目标表中的行”和“向目标表中追加行”的单选选项,他们的意思说的很明白,不解释(哈哈).在虾米那的表格中,我们重点关注的是“源”和“目标”列,源指的是excel中的列,这一列通常是不能选择的,我们主要选择的是“目标”列,在这一列就是完成excel的一列行数据库表中的某一个字段进行对应。按照我们的需要进行对应之后,点击确定,下一步等等,直接到最后一步,中间出现的警告都不用去理会,完成之后,可能出现错误提示,这个提示不是很准确的,有时候虽然出错但是数据仍然导入到数据库了,因此我们查看一下数据库是否导入进去,如果没有导入进去,我们看看错误提示,有可能出现的错误时字段不对应,还有外键关系等等,相应的修改一下即可。
其实上面导入数据个过程尤其是在最后选择“源”和“目标”对应的时候,经常会出现字段的类型不一致的问题,从而导致数据导入不进去,我们可以先把数据直接导入数据库中,生产一个新的数据表,然后在数据库的控制台,利用insert 语句完成数据的导入。
有时候用户的需求发生变化,数据库表的字段增加了,此时数据量有又大的情况下,我们也不会手动输入数据的,直接导入数据的可能改变我们数据库原有的数据,尤其是数据库表存在主键字段(通常都有的),这个字段还是自增的,同时这个主键字段还是其他表的外键字段,那么直接导入就会造成外键字段的值也要进行对应的修改,总的来说就是工作量很大,很复杂。我们怎么能够在不破坏原有的数据情况下,同时又给新增加的字段导入数据呢?
我们先对应的数据库表导出为excel文件。在控制台输入“select * from ####”,然后在输出部分,点击右键选择将“标题和数据一块复制”,然后选择另存为,存储为“*.csv”格式的,再用excel打开。
打开excel之后,给excel表添加相应的字段,保存之后,重新导入到数据库中,但是此时我们导入数据库时目标数据库表的选择不是已经存在的数据库,我们这里不选择,按照默认的设置即可。一路“下一步”就完成导入工作,在数据库中我们将会发现一个自动生成的表,“sheet1”等类似的名称。
然后在控制台利用update语句完成数据的导入或更新:
update A set x1=B.x1,x2=B.x2 from A,B where A.id=B.id
在实际的项目中,我们根据需要进行选择,最重要的工作还是在excel中数据的整理,我们可以利用excel提供的各种快捷方法整理,避免我们手工进行大量重复复杂的工作。
(结束)
分享到:
相关推荐
excel数据导入到sql server数据库中,
将Excel数据导入到SQLServer中,可以选择要导入的Excel文件和Sheet名称,表名。通过自动编写存储过程来实现导入功能。实际使用无须这么麻烦,可以作为数据导入和存储过程参考例子。
利用EXCEL中的宏,直接将excel中的数据导入到sqlServer数据库脚本
可以导入Excel的多个工作表的数据; 无法将相同的表导入数据库多次,也就是说只能导入数据库一次,无法覆盖和添加。
利用C#编程将Excel中的数据导入到Sqlserver数据库中
很多时候需要我们把Excel中的数据快速导入到Sqlserver数据库中,但是sqlserver自带的代入很麻烦,而且速度很慢,一旦电脑配置低 就得卡死,我做的这个小程序可以十分迅速的把数据导入到您想要导入的表中,很方便。
c# 做的web 程序 把excel中的数据导入到sqlserver中 简单 易懂
Excel导入SQLserver源码 Excel是一种非常灵活的电子表格软件,用它可以存储各种数据,本节将对如何将Excel导入SQL Server2000数据库进行详细介绍。 开发环境:NET2.0 开发工具:vs2005 开发语言:c# 数据库:server...
WInform 程序 将Excel导入SQLSERVER数据库
此为word文档,导入方法。这个方法是到目前为止我见到最好的方法
本文实现在c#中可高效的将excel数据导入到sqlserver数据库中,很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,最好的办法是使用bcp,也就是System.Data.SqlClient.SqlBulkCopy 类来实现。不但速度快,...
主要介绍了C#实现Excel表数据导入Sql Server数据库中的方法,结合实例形式详细分析了C#读取Excel表数据及导入Sql Server数据库的具体操作步骤与相关操作技巧,需要的朋友可以参考下
在查询分析器中,直接用sql语句,把excel表中的数据导入到sqlserver数据库的相应表中
把Excel中的数据导入sql server数据库的表中,或者把sql server数据库表中的数据导入Excel中
excel导入sql server数据库源码
我这个实例,是将数据从Excel直接导入到SQL-Server数据库中。
最近在做个小东西的时候用到的,网上有很多但大多是文档,所以自己照着改了改,开发环境:vs2013 excel版本:office excel 2013,可能写的比较糙,有什么有问题的地方希望能够指出来,共同进步。
excel文件导入到SQL server数据库,先选择excel文件,然后选择数据库的ip,默认是本地,填写用户名,密码,然后才可连接自己要导入数据的数据库。下面选择要导入数据的数据库表,然后在对应的datagridview控件的一列...
ASP.NET将EXCEL导入SQL SERVER数据库的代码 ASP.NET将EXCEL导入SQL SERVER数据库的代码