SQL Server命令行导数据据的2种方式

数据库 SQL Server
此文章主要介绍的是SQL Server命令行导数据的2种方式,即bcp与sqlcmd,以及对真两种方式的实际操作的介绍。望大家有所收获。

文章主要描述的是SQL Server命令行导数据,我在一个信誉度很好的网站找到一个关于SQL Server命令行导数据的资料,拿出来供大家分享,以下就是正文的介绍,希望会给你带来一些帮助在此方面。
 

 

Filed under 数据库技术

 

Leave a comment

 

SQL Server命令行导数据两种方式bcp和sqlcmd

 

先说一下bcp:

 

BCP是SQL Server中负责导入导出数据的一个命令行工具,它是基于DB-Library的,并且能以并行的方式高效地导入导出大批量的数据。

 

BCP共有四个动作可以选择。

(1) 导入。

 

这个动作使用in命令完成,后面跟需要导入的文件名。

 

(2) 导出。

 

这个动作使用out命令完成,后面跟需要导出的文件名。

 

(3) 使用SQL语句导出。

 

这个动作使用queryout命令完成,它跟out类似,只是数据源不是表或视图名,而是SQL语句。

 

(4) 导出格式文件。

 

这个动作使用format命令完成,后而跟格式文件名。

 

下面介绍一些常用的选项:

-f format_file

format_file表示格式文件名。这个选项依赖于上述的动作,如果使用的是in或 out,format_file表示已经存在的格式文件,如果使用的是format则表示是要生成的格式文件。

 

-x

这个选项要和-f format_file配合使用,以便生成xml格式的格式文件。

 

-F first_row

指定从被导出表的哪一行导出,或从被导入文件的哪一行导入。

 

-L last_row

指定被导出表要导到哪一行结束,或从被导入文件SQL Server命令行导数据时,导到哪一行结束。

 

-c

使用char类型做为存储类型,没有前缀且以”\t”做为字段分割符,以”\n”做为行分割符。

 

-w

和-c类似,只是当使用Unicode字符集拷贝数据时使用,且以nchar做为存储类型。

 

-t field_term

指定字符分割符,默认是”\t”。

 

-r row_term

指定行分割符,默认是”\n”。

 

-S server_name[ \instance_name]

指定要连接的SQL Server服务器的实例,如果未指定此选项,BCP连接本机的SQL Server默认实例。如果要连接某台机器上的默认实例,只需要指定机器名即可。

 

-U login_id

指定连接SQL Sever的用户名。

 

-P password

指定连接SQL Server的用户名密码。

 

-T

指定BCP使用信任连接登录SQL Server。如果未指定-T,必须指定-U和-P。

 

-k

指定空列使用null值插入,而不是这列的默认值。

 

exp:

BCP AdventureWorks.sales.currency out c:\currency1.txt -c -U”sa” -P”password” –使用密码连接

 

BCP AdventureWorks.sales.currency out c:\currency1.txt -c -T –使用信任连接

 

BCP不仅可以接受表名或视图名做为参数,也可以接受SQL做为参数。通过SQL语句可以对要导出的表进行过滤,然后导出过滤后的记录。

 

EXEC master..xp_cmdshell ‘BCP “SELECT TOP 20 * FROM AdventureWorks.sales.currency” queryout c:\currency2.txt -c -U”sa” -P”password”‘

 

BCP还可以通过简单地设置选项对导出的行进行限制。

 

EXEC master..xp_cmdshell ‘BCP “SELECT TOP 20 * FROM AdventureWorks.sales.currency” queryout c:\currency2.txt -F 10 -L 13 -c -U”sa” -P”password”‘

 

接着说sqlcmd:

启动 sqlcmd 实用工具并连接到 SQL Server 的默认实例

A、在“开始”菜单上,单击“运行”。在“打开”框中,键入 cmd,然后单击“确定”打开命令提示符窗口。

B、在命令提示符处,键入 sqlcmd。

 

C、按 Enter 键。

 

现在,您已与计算机上运行的默认 SQL Server 实例建立了可信连接。

 

1> 是 sqlcmd 提示符,可以指定行号。每按一次 Enter,该数字就会加 1。

 

D、若要结束 sqlcmd 会话,请在 sqlcmd 提示符处键入 EXIT。

 

exp:

sqlcmd -S localhost -d databasename -U sa -P 12345 -i d:\test.sql

以上的相关内容就是对SQL Server命令行导数据的介绍,望你能有所收获。

【编辑推荐】

  1. SQL Server 2005 synonyms的优缺点有哪些?
  2. SQL Server快照功能以及其查询操作
  3. SQL Server行转列的什么情况下被用?
  4. SQL Server获取表的容量很简单!
  5. SQL Server排序遇到NULL,不怕不帕!

 

责任编辑:佚名 来源: 软件在线
相关推荐

2010-10-19 09:34:15

sql server命

2010-11-24 14:51:55

Mysql命令行

2009-08-11 10:20:52

linux命令行修改Ilinux命令行linux命令行参数

2010-10-19 09:45:23

SQL Server命

2010-11-24 15:41:56

MySQL命令行

2009-08-07 10:33:53

linux命令行乱码linux命令行解决方式

2011-09-01 22:03:41

SQL Server 自动安装命令行

2010-11-01 17:10:45

DB2命令行

2010-05-27 18:30:56

MySQL 命令行导入

2011-02-23 17:07:47

FileZillaSe

2022-08-01 08:30:26

Python命令行

2015-07-01 09:15:46

linuxQuora命令行

2018-10-22 10:30:58

命令Fedora操作系统

2010-03-05 13:00:39

Ubuntu命令

2011-07-21 13:10:59

2010-10-21 16:24:18

sql server升

2020-12-11 06:44:16

命令行工具开发

2020-12-10 16:16:08

工具代码开发

2011-09-06 16:17:50

Ubuntu

2010-11-01 14:01:32

DB2命令行
点赞
收藏

51CTO技术栈公众号