34,590
社区成员
发帖
与我相关
我的任务
分享
8.0
3
1 SQLCHAR 0 20 "," 2 userName Chinese_PRC_CI_AS
2 SQLCHAR 0 100 "," 4 address Chinese_PRC_CI_AS
3 SQLCHAR 0 20 "\r\n" 5 phone ""
userName,address,phone
hua,湖南,5971898
--SQL SERVER
--建表
CREATE TABLE userinfo(id int identity,userName varchar(20),
pass varchar(20),address varchar(100),phone varchar(20),
email varchar(128),registerTime datetime)
--导入
BULK INSERT userinfo
FROM 'G:\test.txt'
WITH
(
FORMATFILE = 'G:\format.fmt',
FIRSTROW = 2
)
--查看数据
SELECT * FROM userinfo;
/*
id userName pass address phone email registerTime
----------- --------- ---------- ----------- ---------- ---------- -------------
1 hua NULL 湖南 5971898 NULL NULL
(1 行受影响)
*/
if object_id('tempdb..#')is not null drop table #
go
create table #(a varchar(10),c varchar(10),d varchar(10))
bulk insert #
from 'E:\Test.txt'
with(
FIELDTERMINATOR = ' ',
ROWTERMINATOR = '\n'
)
insert ta(a,c,d)select * from #
--参考
如何使用BCP导出格式文件
BCP不仅可以根据表、视图导入导出数据,还可以配合格式文件对导入导出数据进行限制。格式文件以纯文本文件形式存在,分为一般格式和xml格式。用户可以手工编写格式文件,也可以通过BCP命令根据表、视图自动生成格式文件。
EXEC master..xp_cmdshell 'BCP AdventureWorks.sales.currency format nul -f c:\currency_format1.fmt -c -T'
上述命令将currency表的结构生成了一个格式文件currency_format1.fmt,下面是这个格式文件的内容。
9.0
3
1 SQLCHAR 0 6 "\t" 1 CurrencyCode SQL_Latin1_General_CP1_CI_AS
2 SQLCHAR 0 100 "\t" 2 Name SQL_Latin1_General_CP1_CI_AS
3 SQLCHAR 0 24 "\r\n" 3 ModifiedDate
这个格式文件记录了这个表的字段(共3个字段)类型、长度、字符和行分割符和字段名等信息。
BCP还可以通过-x选项生成xml格式的格式文件。
EXEC master..xp_cmdshell 'BCP AdventureWorks.sales.currency format nul -f c:\currency_format2.fmt -x -c -T'
xml格式文件所描述的内容和普通格式文件所描述的内容完全一样,只是格式不同。