SQL Server批量数据导出导入Bulk Insert使用

时间:2022-12-23 09:26:02

简介

Bulk insert命令区别于BCP命令之处在于它是SQL server脚本语句,它可以将本地或远程的文件数据批量导入数据库,速度非常之快;远程文件必须共享才行,

文件路径须使用通用约定(UNC)名称,即"\\服务器名或IP\共享名\路径\文件名"的形式。

注意,这里的远程事相对数据库服务器而言,即数据文件若放置在数据库服务器之外,则需要共享给数据库服务器;

Bulk Insert通常配合BCP导出的格式化文件批量导入数据

Bulk Insert配合格式文件语法

Bulk insert 数据库名.用户名.表名
from '数据文件路径'
with
(
  formatfile = '格式文件路径',
  FirstRow = 2 --指定数据文件中开始的行数,默认是1
)

其中格式文件使用BCP生成

bcp SPC.dbo.BCC format nul -f c:\bcc_format.fmt -x -c -S"43.XXX.XXX.XXX" -U"sa" -P"*******"

Bulk Insert 导入csv文件语法

bulk insert [数据库名.用户名.表名]
from '数据文件物理路径'
with(
       fieldterminator=',',
       rowterminator='\n'
)

csv示例

bulk insert bcc
from 'c:\\bcc.csv'
with(
  fieldterminator=',',
  rowterminator='\n'
)