第一:使用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文件中导入数据的工具。

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

SQLSERVER数据库中批量导入数据的几种方法的更多相关文章

  1. neo4j批量导入数据的两种解决方案

    neo4j批量导入数据有两种方法,第一种是使用cypher语法中的LOAD CSV,第二种是使用neo4j自带的工具neo4j-admin import. LOAD CSV 导入的文件必须是csv文件 ...

  2. C# 批量插入表SQLSERVER SqlBulkCopy往数据库中批量插入数据

    #region 帮助实例:SQL 批量插入数据 多种方法 /// <summary> /// SqlBulkCopy往数据库中批量插入数据 /// </summary> /// ...

  3. SQLServer 批量插入数据的两种方法

    SQLServer 批量插入数据的两种方法-发布:dxy 字体:[增加 减小] 类型:转载 在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Ins ...

  4. SQL 2005批量插入数据的二种方法

    SQL 2005批量插入数据的二种方法 Posted on 2010-07-22 18:13 moss_tan_jun 阅读(2635) 评论(2) 编辑 收藏 在SQL Server 中插入一条数据 ...

  5. MyBatis向数据库中批量插入数据

    Foreach标签 foreach: collection:指定要遍历的集合; 表示传入过来的参数的数据类型.该参数为必选.要做 foreach 的对象,作为入参时,List 对象默认用 list 代 ...

  6. 从TXT文本文档向Sql Server中批量导入数据

    下面我们通过以下的简单的SQL语句即可实现数据的批量导入,代码如下: Bulk insert id From 'G:\文档\test.txt' With ( fieldterminator=',', ...

  7. .Net中批量添加数据的几种实现方法比较

    在.Net中经常会遇到批量添加数据,如将Excel中的数据导入数据库,直接在DataGridView控件中添加数据再保存到数据库等等. 方法一:一条一条循环添加 通常我们的第一反应是采用for或for ...

  8. (转载)MySQl数据库-批量添加数据的两种方法

    方法一:使用excel表格 方法二:使用insert语句(FileWriter批量写入) 使用excel表格 1.打开数据表,按照表的字段在excel中添加数据.注意:表中字段名必须和excel中的名 ...

  9. Hive导入数据的四种方法

    Hive的几种常见的数据导入方式这里介绍四种:(1).从本地文件系统中导入数据到Hive表:(2).从HDFS上导入数据到Hive表:(3).从别的表中查询出相应的数据并导入到Hive表中:(4).在 ...

随机推荐

  1. 【NOIP2015】推销员

    推(chuan)销员 分析 这里主要阐述一下我的分析思路. 看起来挺直观的. 最初的想法,我们枚举每一个最远点mxp的位置,然后对之前的a进行排序. 那么以mxp为最远点,选x个的最大疲劳值为: 这样 ...

  2. pvresize - Unix, Linux Command

    NAME pvresize - resize a disk or partition in use by LVM2 SYNOPSIS pvresize [-d|--debug] [-h|--help] ...

  3. win7下安装MYSQL报错:"MYSQL 服务无法启动"的3534问题

    上午在win7下安装MYSQL,只到“net start mysql”这一步报错:3534的错误: 于是在百度中搜索关键字“mysql服务无法启动3534”. 参考以下两个链接中的方法,解决了3534 ...

  4. \bin\sh.exe:*** Couldn't reserve space for cygwin's heap,Win32 error 0

    Git一直使用都好好的,今天git pull的时候,报了如下的错误,\bin\sh.exe:*** Couldn't reserve space for cygwin's heap,Win32 err ...

  5. Windows NT访问权限

    #define SECTION_QUERY 0x0001 #define SECTION_MAP_WRITE 0x0002 #define SECTION_MAP_READ 0x0004 #defin ...

  6. java操作数据库出现(][SQLServer 2000 Driver for JDBC]Error establishing socket.)的问题所在即解决办法

    在进行jdbc直接操作数据库时    : 我们需要对该工程进行一次导包(引入"msbase.jar" "mssqlserver.jar" "msuti ...

  7. 自定义头文件 No such file or directory

    my_file.h为你的头文件名 要用#include"my_file.h",而不能是#include<my_file.h>. 如果头文件名在尖括号<>里, ...

  8. springMvc配置编码过滤器

    在web.xml中配置 <!-- 编码过滤器 --> <filter> <filter-name>characterEncodingFilter</filte ...

  9. HDU 1864

    最大报销额 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  10. Football(POJ3071)

    Football Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3469   Accepted: 1782 Descript ...