在实际的工作需要中,我们有时候需将大量的数据导入到数据库中。这时候我们不得不考虑的就是效率问题。本文我们就介绍了一种将大量数据高效地导入SQL Server数据库的方法,该方法是使用BULK INSERT来实现的,接下来就让我们来一起了解一下这部分内容。

源数据(文本文件)

下载了大量的股票历史数据,都是文本格式的:

每个文件第一行包含股票代码,股票名称,数据类型.第二行是数据列的名称:

数据表

在数据库中新建了一个数据表TestStock,并设置以下字段,但没有关于"成交额"的字段,因为以后的计算不会用到这个数据。另外这里关于价格的字段没有使用money数据类型,decimal足矣。

编写格式化文件

当前数据的格式化文件为:

  1. < span>xmlversionxmlversion="1.0"?<
  2. < span>BCPFORMAT
  3. xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<
  5. < span>RECORD<
  6. < span>FIELDIDFIELDID="1"xsi:type="CharTerm"TERMINATOR=","/<
  7. < span>FIELDIDFIELDID="2"xsi:type="CharTerm"TERMINATOR=","/<
  8. < span>FIELDIDFIELDID="3"xsi:type="CharTerm"TERMINATOR=","/<
  9. < span>FIELDIDFIELDID="4"xsi:type="CharTerm"TERMINATOR=","/<
  10. < span>FIELDIDFIELDID="5"xsi:type="CharTerm"TERMINATOR=","/<
  11. < span>FIELDIDFIELDID="6"xsi:type="CharTerm"TERMINATOR=","/<
  12. < span>FIELDIDFIELDID="7"xsi:type="CharTerm"TERMINATOR="\r\n"/<
  13. </>RECORD<
  14. < span>ROW<
  15. < span>COLUMNSOURCECOLUMNSOURCE="1"NAME="Date"xsi:type="SQLDATE"/<
  16. < span>COLUMNSOURCECOLUMNSOURCE="2"NAME="OpenPrice"xsi:type="SQLDECIMAL"PRECISION="6"SCALE="2"/<
  17. < span>COLUMNSOURCECOLUMNSOURCE="3"NAME="HighPrice"xsi:type="SQLDECIMAL"PRECISION="6"SCALE="2"/<
  18. < span>COLUMNSOURCECOLUMNSOURCE="4"NAME="LowPrice"xsi:type="SQLDECIMAL"PRECISION="6"SCALE="2"/<
  19. < span>COLUMNSOURCECOLUMNSOURCE="5"NAME="ClosePrice"xsi:type="SQLDECIMAL"PRECISION="6"SCALE="2"/<
  20. < span>COLUMNSOURCECOLUMNSOURCE="6"NAME="Volumn"xsi:type="SQLINT"/<
  21. </>ROW<
  22. </>BCPFORMAT<

暂且先保存在C盘目录下吧,文件名叫BCPFORMAT.xml

编写BULKINSERT语句:

  1. BULKINSERTTestStock
  2. FROM'C:\SH600475.txt'
  3. WITH(
  4. FORMATFILE='C:\BCPFORMAT.xml',
  5. FIELDTERMINATOR=',',
  6. ROWTERMINATOR='\r\n')

执行BULKINSERT的速度很快,结果如下:

同样的效果,如果从文本中读一行记录,执行一次INSERTINTO语句的话,需要10秒左右,由此可见BULKINSERT的高效。

关于使用BULK INSERT将大量数据导入SQL Server数据库的知识就介绍到这里了,希望本次的介绍能够对您有所帮助。

原文:http://database.51cto.com/art/201108/282631.htm

转载于:https://www.cnblogs.com/renjianheti/p/3927405.html

BULK INSERT如何将大量数据高效地导入SQL Server(转)相关推荐

  1. BULK INSERT如何将大量数据高效地导入SQL Server

    转载自:http://database.51cto.com/art/201108/282631.htm BULK INSERT如何将大量数据高效地导入SQL Server 本文我们详细介绍了BULK ...

  2. Python 批量处理 Excel 数据后,导入 SQL Server

    作者 | 老表 来源 | 简说Python 1.前言 2.开始动手动脑 2.1 拆解+明确需求 2.2 安装第三方包 2.3 读取excel数据 2.4 特殊数据数据处理 2.5 其他需求 2.6 完 ...

  3. Python批量处理Excel数据后,导入SQL Server

    1.前言 2.开始动手动脑 2.1 拆解+明确需求 2.2 安装第三方包 2.3 读取excel数据 2.4 特殊数据数据处理 2.5 其他需求 2.6 完整调用代码 3.后言后语 1.前言 今天我们 ...

  4. 如何将数据从Excel文件导入SQL Server数据库

    There are many ways to import data from an Excel file to a SQL Server database using: 有多种方法可以使用以下方法将 ...

  5. Bulk Insert:将文本数据(csv和txt)导入到数据库中

    将文本数据导入到数据库中的方法有很多,将文本格式(csv和txt)导入到SQL Server中,bulk insert是最简单的实现方法 1,bulk insert命令,经过简化如下 BULK INS ...

  6. 使用SSIS包导入SQL Server FILESTREAM数据

    初始配置 (Initial configuration) We have been exploring the SQL Server FILESTREAM feature in this ongoin ...

  7. net以execl做数据库_C#.NET Excel文件数据导入SQL Server数据库完整代码

    展开全部 在日常的项目中,Excel,Word,txt等格式的数62616964757a686964616fe58685e5aeb931333337626235据导入到数据库中是很常见 这里将分为.n ...

  8. 将Excel数据导入SQL Server数据库

    遇到了一个需求,需要将Excel中的数据导入SQL Server数据库中,当然,不是使用企业管理器之类的直接导入数据的那种,而是要做到程序中.本来我最初的考虑是将Excel中的数据读到dataset中 ...

  9. python怎么导入sql数据库,##使用python将excel表中数据导入sql server数据库

    如何用python将excel数据导入到postgresql数据库中 把excel表格另存为csv文件 python将exce文件含有多个sheet同时l导入sqlserver数据库 需要使用xlrd ...

最新文章

  1. tcp ssl java_SSL的TCP通信
  2. 完美解决MySQL重装问题
  3. web前端三大主流框架_小猿圈web前端之前端的主流框架都有哪些?
  4. Java黑皮书课后题第3章:3.14(游戏:猜硬币的正反面)编写程序,让用户猜一猜是硬币的正面还是反面。随即产生一个整数0或1,分别表示
  5. 安装你自己的perl modules
  6. c语言 大数相加,c/c++开发分享C语言计算大数相加的方法
  7. jquery ajax 文本丢失加号和连接号的问题
  8. ERROR streaming.StreamExecution:createConsumer(ConsumerStrategy.scala:63)
  9. PDF连接服务器信息,远程连接服务器.pdf
  10. python if用法
  11. jena使用 java_【jena】 jena基本使用
  12. 让他们有事可做( 云中漫步zai)
  13. Java入门篇(三、常用开发利器)
  14. 前端 - 屏幕尺寸,分辨率,像素,PPI 解析汇总
  15. PL-VIO学习+注释
  16. 密码学归约证明——选择明文攻击下的不可区分性
  17. Flutter视频播放
  18. 各种搞怪的标点符号表情
  19. 云原生可观测性平台deepflow部署
  20. 信息资源管理【一】之 信息资源管理基础

热门文章

  1. node.js学习-第一章节
  2. VB.Net - 指令
  3. IOTOS物联中台modbus驱动对接雅达电表设备
  4. 手持两把锟斤拷,口中疾呼烫烫烫。脚踏千朵屯屯屯,笑看万物锘锘锘。
  5. linux :Java SE Development Kit 7u5
  6. 计算机硬件知识比赛策划,计算机硬件知识讲座活动策划案.doc
  7. 入门python爬虫
  8. python——通信原理,进程与线程
  9. 解析现代steam教育的黄金法则
  10. 小米java暑期实习面经-普通二本,研究生985机会大吗?