您的位置:首页 > 数据库

数据库中的数据导入导出汇总一(bulk insert命令,bcp命令)

2008-11-09 23:12 585 查看
数据库中数据的导入导出问题一直都是个让我头痛的问题。今天又碰到个让我吐血的问题,实在忍不下去啦!让我产生了一些日常开发碰到的数据导入导出问题列出来,并写出它们的解决方法的念头。(备忘咯。。。)今天就简单的写下Bulk Insert和
Bcp这两个命令。
Bulk Insert 命令:这个命令可以将存储文件(文本文件,xml之类的)中的数据导入到sql server中的数据表中。它的具体描述请参照这里
Bcp 命令:可以将数据库中的数据导出到外部的存储文件(文本文件,xml之类).它的具体描述请参照这里

下面我们用这张表来简单的测试下这二个命令:
testTable(
id int,
name nvarchar(256),
sex bit,
age tinyint

)

首先我们用Bcp命令从中导出数据:(注意:这里为了简单描述这二个命令的功能,数据表只写出了相对名称,使用时需写全名------>数据库名+用户名+表名)
EXEC master..xp_cmdshell 'BCP "SELECT * FROM testTable" queryout c:/test.txt -c -U"sa" -P"shayidao9788"'
这样我们就将表testTable中的所有数据导出到C盘的test.txt文件中。文本文件中的数据存储格式采用了默认格式,每列的数据用‘/t’制表符分割,每行数据用‘/n’换行符分割。

接下来我们用Bulk Insert 命令将test.txt文件中的数据导入到数据表中:
bulk insert testTable from 'c:/test.txt' with(
FIELDTERMINATOR='/t',
ROWTERMINATOR='/n'
)
FIELDTERMINATOR参数获取的是分割每列数据的符号, ROWTERMINATOR参数获取的是分割每行数据的符号。
这样我们就把存储在test.txt文件中的数据导入到表testTable中去了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: