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).在 ...
随机推荐
- cocos2dx从入门到精通课程
一.移动开发基础 二.cocos2dx跨平台理论 三.cocos2dx框架 四.cocos2dx内存管理 五.cocos2dx的事件与消息机制 六.cocos2dx的定时器 七.cocos2dx的渲染 ...
- c语言数据结构:递归的替代-------回溯算法
1.要理解回溯就必须清楚递归的定义和过程. 递归算法的非递归形式可采用回溯算法.主要考虑的问题在于: 怎样算完整的一轮操作. 执行的操作过程中怎样保存当前的状态以确保以后回溯访问. 怎样返回至上一次未 ...
- VS2012更改项目编译后文件输出目录
1.现在我的解决方案里有存在两个项目,分别是类库项目ClassLibrary1和控制台项目ConsoleApplication1,默认情况下当解决方案重新生成后,这两个项目所对应的编译后文件分别会存在 ...
- JavaScript及C# URI编码详解
转载自:http://www.cnblogs.com/artwl/archive/2012/03/07/2382848.html 应用Uri编码,可以把一个或多个Uri作为另一个Uri的参数(如果不用 ...
- [Java] Java 获取数据库所有表基本信息和表中的所有列基本信息代码
废话不多说.上代码 import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import ...
- 琐碎的总结 css jQuery js 等等。。。
jQuery outerWidth(true)支持ie7 不错不错css BFC a {display:inline-block} 有用,block不是很有效果 ...
- VS2012外接程序VMDebugger未能加载或导致了异常
转http://blog.csdn.net/maryhuan/article/details/42676915 故障现象:打开Visual Studio 2010后弹出错误框,外接程序VMDebugg ...
- ARM堆栈及特殊指令
ARM7支持四种堆栈模式:满递减(FD).满递增(FA).空递减(ED).空递增(EA) FD:堆栈地址从上往下递减,且指针指向最后一个入栈元素.FA:堆栈地址从下往上递增,且指针指向最后一个入栈元素 ...
- 20145236 《Java程序设计》实验四实验报告
20145236 实验四 Android开发基础 实验内容: 1.基于Android Studio开发简单的Android应用并部署测试; 2.了解Android组件.布局管理器的使用: 3.掌握An ...
- 如何查看,关闭和开启selinux
以下介绍一下SELinux相关的工具/usr/bin/setenforce 修改SELinux的实时运行模式setenforce 1 设置SELinux 成为enforcing模式setenforce ...