SQLSERVER数据库中批量导入数据的几种方法

第一:使用Select Into 语句

  如果企业数据库都是采用SQL Server数据库的话,则可以利用select into语句实现数据的导入。

  select into语句的作用是把数据从另外一个数据库中查询出来,然后插入到用户指定的某个表中。

  注意:使用该语句需要注意四个前提

1:需要在目的数据库中建立相关的表

2:这种方法,只复制表中的数据,而不复制表中的索引。

3:这条语句的使用具有局限性,要求源表与目的表所在的数据库都必须是SQL Server,可以允许版本不同。

4:采用这条语句的时候,目的表中不能有数据。否则的话,目的表中的数据将会被清除,也就是说 ,这条语句不支持表与表数据的合并。

  在SQL Server中,有一条语句支持表与表数据的合并,那就是insert into,它的作用是把另一张表中的数据插入到当前表中。

  若用户想要合并两个表的数据,可以采用此语句。

5:以上两条语句均支持兼容的不同类型的数据类型。例如,在原表中,某个字段的数据类型是整型,而在目的表中,这个字段的数据类型是浮点型,

  这两种类型的数据是兼容的,所以数据库是允许这样导入的。

第二:利用Excel等中间工具进行控制。

  虽然第一种方法操作比较简单,但是也有一些缺点。如它只支持同一种类型的数据库,不能对数据进行过多的干预等等。一般情况下,若用户数据准确度比较高,

  不需要过多的修改,拿来就可以使用的话,笔者建议采用第一种方式。

  但是,若在源数据库中,数据的准确度不是很高,又或者,有很多数据时错误的,没有实际意义的。总之,需要对源数据进行整理才能够导入的情况,建议不直

  接导入,再进行修改的做法。在这种情况下,最好是先将源数据导出成Excel文件,有些数据库,如Oracle,不支持导出Excel文件,但是它支持导出csv文件,

  这种文件也可以,Excel文件可以打开的。

  然后,再在Excel中 ,对源数据进行修改。由于Excel是一个很强的表格处理工具,所以,在Excel中修改数据,比在数据库中修改数据要容易一些,也来的简单。

  如可以利用按时间排序功能,把一些长久不用的记录清除掉,也可以利用替换功能,把一些不规范的字符替换掉。这些在数据库中比较复杂的任务,在Excel中却

  可以轻松的完成。

  等到Excel表中的数据修改无误后,就可以把Excel表格文件直接导入到SQL Server数据库中,SQL Server与Excel的兼容性很好,在Sql Server中提供了直接

  从Excel文件中导入数据的工具。

  这种方式虽然要借助中间工具导入数据,但是,处理起来方便,直观,所以很多时候我们需要这种方式来完成数据导入任务。

原文地址:https://www.cnblogs.com/onsuccessway/p/3335081.html