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文件中导入数据的工具。
这种方式虽然要借助中间工具导入数据,但是,处理起来方便,直观,所以很多时候我们需要这种方式来完成数据导入任务。
SQLSERVER数据库中批量导入数据的几种方法的更多相关文章
- neo4j批量导入数据的两种解决方案
neo4j批量导入数据有两种方法,第一种是使用cypher语法中的LOAD CSV,第二种是使用neo4j自带的工具neo4j-admin import. LOAD CSV 导入的文件必须是csv文件 ...
- C# 批量插入表SQLSERVER SqlBulkCopy往数据库中批量插入数据
#region 帮助实例:SQL 批量插入数据 多种方法 /// <summary> /// SqlBulkCopy往数据库中批量插入数据 /// </summary> /// ...
- SQLServer 批量插入数据的两种方法
SQLServer 批量插入数据的两种方法-发布:dxy 字体:[增加 减小] 类型:转载 在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Ins ...
- SQL 2005批量插入数据的二种方法
SQL 2005批量插入数据的二种方法 Posted on 2010-07-22 18:13 moss_tan_jun 阅读(2635) 评论(2) 编辑 收藏 在SQL Server 中插入一条数据 ...
- MyBatis向数据库中批量插入数据
Foreach标签 foreach: collection:指定要遍历的集合; 表示传入过来的参数的数据类型.该参数为必选.要做 foreach 的对象,作为入参时,List 对象默认用 list 代 ...
- 从TXT文本文档向Sql Server中批量导入数据
下面我们通过以下的简单的SQL语句即可实现数据的批量导入,代码如下: Bulk insert id From 'G:\文档\test.txt' With ( fieldterminator=',', ...
- .Net中批量添加数据的几种实现方法比较
在.Net中经常会遇到批量添加数据,如将Excel中的数据导入数据库,直接在DataGridView控件中添加数据再保存到数据库等等. 方法一:一条一条循环添加 通常我们的第一反应是采用for或for ...
- (转载)MySQl数据库-批量添加数据的两种方法
方法一:使用excel表格 方法二:使用insert语句(FileWriter批量写入) 使用excel表格 1.打开数据表,按照表的字段在excel中添加数据.注意:表中字段名必须和excel中的名 ...
- Hive导入数据的四种方法
Hive的几种常见的数据导入方式这里介绍四种:(1).从本地文件系统中导入数据到Hive表:(2).从HDFS上导入数据到Hive表:(3).从别的表中查询出相应的数据并导入到Hive表中:(4).在 ...
随机推荐
- aspcms标签使用经验
1.调用导航栏标签写法,sort是网站后台栏目管理的编号{aspcms:type sort=19} <a href="[type:link]" title="[ty ...
- 【转】 Linux进程间通信
一.进程间通信概述进程通信有如下一些目的:A.数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间B.共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别 ...
- noip2016题解汇总
[uoj#260]玩具谜题 传送门 http://uoj.ac/problem/260 分析 模拟. int n,m; int dir[N]; char nam[N][L]; int a[M],s[M ...
- 20145218 《Java程序设计》第二周学习总结
Java中的注释格式 单行注释 //注释文字 多行注释 /注释文字/ 文档注释 /**注释文字*/ 注释不仅仅是对代码进行解释,在上一篇博客中也写过,注释也可以用来检查程序中的错误,可以说是一个小窍门 ...
- JavaScript:闭包
根据MDN上的解释『闭包是指函数有自由独立的变量.换句话说,定义在闭包中的函数可以“记忆”它创建时候的环境.』 闭包有两个主要的作用: 1.访问内部函数的局域变量: 2.将创建的变量永久保存在内存中, ...
- 6/3 Sprint2 看板和燃尽图
- Qt之findChild
简述 在Qt编程过程中,通常会有多个部件嵌套,而大多数部件都有父子依赖关系,但是有些情况下不能直接引用子部件,这时我们可以通过父部件来findChild -"查找孩子". 简述 查 ...
- Spring 框架整理
在web.xml中配置以下内容 <!-- 配置Spring MVC DispatcherServlet --> <servlet> <servlet-name>MV ...
- 解决li在ie,firefox中行高不一致问题
转载 http://www.cnblogs.com/jikey/archive/2011/11/13/2247543.html li在ie与firefox的高度是不一样的,解决办法是li font-s ...
- IOS开发设计思路
我在做 iOS 开发的时候,发现自己在写程序的时候,常常处于两种状态的切换,我把这两种状态称为软件开发的上帝模式与农民模式.我先给大家介绍一下这两种模式的特点. 上帝模式 处于上帝模式时,我需要构思整 ...