sqlserver的BCP导入导出
bcp命令是SQL Server提供的一个快捷的数据导入导出工具 使用它不需要启动任何图形管理工具就能以高效的方式导入导出数据 bcp是SQL Server中负责导入导出数据的一个命令行工具 它是基于DB Library的 并且能以并行的方式高效地导入导出大批量的数据 bcp可以将数据库的表或视图直接导出 也能通过SELECT FROM语句对表或视图进行过滤后导出 在导入导出数据时 可以使用默认值或是使用一个格式文件将文件中的数据导入到数据库或将数据库中的数据导出到文件中
bcp的主要参数介绍
bcp共有四个动作可以选择
( ) 导入
这个动作使用in命令完成 后面跟需要导入的文件名
( ) 导出
这个动作使用out命令完成 后面跟需要导出的文件名
( ) 使用SQL语句导出
这个动作使用queryout命令完成 它跟out类似 只是数据源不是表或视图名 而是SQL语句
( ) 导出格式文件
这个动作使用format命令完成 后而跟格式文件名
下面介绍一些常用的选项
f format_file
format_file表示格式文件名 这个选项依赖于上述的动作 如果使用的是in或out format_file表示已经存在的格式文件 如果使用的是format则表示是要生成的格式文件
x
这个选项要和 f format_file配合使用 以便生成xml格式的格式文件
F first_row
指定从被导出表的哪一行导出 或从被导入文件的哪一行导入
L last_row
指定被导出表要导到哪一行结束 或从被导入文件导数据时 导到哪一行结束
c
使用char类型做为存储类型 没有前缀且以 做为字段分割符 以
做为行分割符
w
和 c类似 只是当使用Unicode字符集拷贝数据时使用 且以nchar做为存储类型
t field_term
指定字符分割符 默认是
r row_term
指定行分割符 默认是
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值插入 而不是这列的默认值
如何使用bcp导出数据
( ) 使用bcp导出整个表或视图
bcp AdventureWorks sales currency out c:\currency txt c U sa P password 使用密码连接或bcp AdventureWorks sales currency out c:\currency txt c T 使用信任连接
下面是上述命令执行后的输出结果
Starting copy
rows copied
Neork packet size (bytes):
Clock Time (ms ) Total : Average : ( rows per sec )
下面是currency txt的部分内容
AED Emirati Dirham : :
AFA Afghani : :
ZWD Zimbabwe Dollar : :
在使用密码登录时需要将 U后的用户名和 P后的密码加上双引号
注 bcp除了可以在控制台执行外 还可以通过调用SQL Server的一个系统存储过程xp_cmdshell以SQL语句的方式运行bcp 如上述第一条命令可改写为
EXEC master xp_cmdshell bcp AdventureWorks sales currency out c:\currency txt c U sa P password
执行xp_cmdshell后 返回信息以表的形式输出 为了可以方便地在SQL中执行bcp 下面的命令都使用xp_cmdshell执行bcp命令
( ) 对要导出的表进行过滤
bcp不仅可以接受表名或视图名做为参数 也可以接受SQL做为参数 通过SQL语句可以对要导出的表进行过滤 然后导出过滤后的记录
EXEC master xp_cmdshell bcp SELECT TOP * FROM AdventureWorks sales currency queryout c:\currency txt c U sa P password
bcp还可以通过简单地设置选项对导出的行进行限制
这条命令使用了两个参数 F 和 L 表示从SE
EXEC master xp_cmdshell bcp SELECT TOP * FROM AdventureWorks sales currency queryout c:\currency txt F L c U sa P password
LECT TOP * FROM AdventureWorks sales currency所查出来的结果中取第 条到 条记录进行导出
如何使用bcp导出格式文件
bcp不仅可以根据表 视图导入导出数据 还可以配合格式文件对导入导出数据进行限制 格式文件以纯文本文件形式存在 分为一般格式和xml格式 用户可以手工编写格式文件 也可以通过bcp命令根据表 视图自动生成格式文件
EXEC master xp_cmdshell bcp AdventureWorks sales currency format nul f c:\currency_format fmt c T
上述命令将currency表的结构生成了一个格式文件currency_format fmt 下面是这个格式文件的内容
SQLCHAR CurrencyCode SQL_Latin _General_CP _CI_AS
SQLCHAR Name SQL_Latin _General_CP _CI_AS
SQLCHAR
ModifiedDate
这个格式文件记录了这个表的字段(共 个字段)类型 长度 字符和行分割符和字段名等信息
bcp还可以通过 x选项生成xml格式的格式文件
EXEC master xp_cmdshell bcp AdventureWorks sales currency format nul f c:\currency_format fmt x c T
xml格式文件所描述的内容和普通格式文件所描述的内容完全一样 只是格式不同
如何使用bcp导入数据
bcp可以通过in命令将上面所导出的currency txt和currency txt再重新导入到数据库中 由于currency有主键 因此我们将复制一个和currency的结构完全一样的表
SELECT TOP * INTO AdventureWorks sales currency FROM AdventureWorks sales currency
将数据导入到currency 表中
EXEC master xp_cmdshell bcp AdventureWorks sales currency in c:\currency txt c T
导入数据也同样可以使用 F和 L选项来选择导入数据的记录行
EXEC master xp_cmdshell bcp AdventureWorks sales currency in c:\currency txt c F L T
lishixinzhi/Article/program/SQLServer/201311/22188
sqlserver是什么
SQLServer是由微软公司开发的关系数据库管理系统。它用于存储、检索和管理大量数据,支持T-SQL查询语言,并能够与许多其他服务器软件紧密集成。二、主要功能 1. 数据管理:SQLServer允许用户创建数据库、表、视图和索引等,用于结构化存储数据。2. 数据查询:通过SQL查询语言,用户可以检索、更新、插入和删除...
SQLserver服务怎么启动?
1.打开电脑,点击开始,找到SqlServer安装后生成的文件夹,也可以通过搜索SqlServer找到。;2.点击【配置工具】下的【SqlServer配置管理器】。;3.点击左侧菜单SQLServer服务,右侧会显示所有的SqlServer服务项。;4.然后找到SqlServer(MSSQLSERVER)服务,点击右键,然后点击启动。;5.点击其他选项可以设置TCP\/...
sqlserver的用户名和密码是什么?
1. 默认情况下,SQL Server的用户名是"sa"。在尝试连接服务器时,应选择SQL Server身份验证,然后使用安装时设置的密码进行登录。2. 如果忘记初始密码,可以选择Windows身份验证方式登录。这样可以进入系统后修改默认用户的密码,或者借此机会查看账户和密码信息。3. 在系统界面,找到"安全性"选项,然后进入...
SQLserver数据库简介
SQLServer是由美国微软公司开发的一款关系型数据库系统,专为分布式客户机\/服务器计算设计,与WindowsNT紧密集成,提供了企业级信息管理的解决方案。它的核心优势体现在以下几个方面:首先,SQLServer以高性能为设计目标,能够充分利用WindowsNT的性能潜力,确保系统的高效运行。其次,系统管理功能强大且用户友好,...
SQLServer默认密码多少?
1、首先需要知道SQL Server默认用户名是sa,密码是安装的时候设置的密码,连接服务器的时候选择SQL Server身份验证,输入用户名和密码就完成了。2、如果忘记了安装设置的默认密码,选择Windows身份验证,然后进去修改默认用户的密码就可以,也可以通过这个方式查看账户和密码。3、进去之后,点击安全性->登录名...
sqlserver是什么
SQL Server,作为一款由微软开发的杰出关系型数据库管理系统(RDBMS),在企业级应用领域扮演着重要角色。它凭借卓越的性能、扩展性和稳定性,成为了众多企业的首选数据库解决方案。这个系统的核心优势在于其对SQL语言的高效利用,能够轻松处理复杂的数据查询、事务管理和数据安全问题,无论应用规模如何,都能...
win7如何启动sqlserver服务
1、win7系统下右键【我的电脑】-【管理】-【服务】,找到【SQL Server代理(MSSQLSERVER)】,选择【属性】打开属性对话框;2、点击【依存关系】标签页,我们可以看见它与【SQL Server(MSSQLSERVER)】服务存在依赖关系;3、关闭这个窗口,在服务中寻找【SQL Server(MSSQLSERVER)】服务,并双击,选择...
SqlServer详细介绍
SQL语句作为强大的操作工具,支持诸如数据更新和提取等多种任务,它是关系型数据库管理系统的核心语言,如Oracle、Sybase、Microsoft SQL Server和Access等广泛采用。尽管各家数据库对其做了扩展,但基础的SQL命令如SELECT、INSERT、UPDATE、DELETE等,仍能在大部分数据库操作中发挥作用。SQL Server,特别是...
sqlserver怎样打开数据库服务?
1、首先我们打开电脑里的sqlserver软件。2、打开电脑的开始菜单,选择“控制面板”选项。3、在“控制面板”选项卡中,选择“管理工具”选项。4、在“管理工具”选项卡中,选择“服务”界面。5、在“服务”中,找到sql开头的服务名。6、这个“SQLServer(MSSQLSERVER)”服务后缀就"MSSQLSERVER"是该数据...
sqlserver和mysql区别
1. 开发公司不同 SQL Server 是由 Microsoft 开发和推广的。MySQL 最初由瑞典 MySQL AB 公司开发,现在属于 Oracle 旗下产品。2. 开发工具包搭配不同 1. SQL Server:能与 Microsoft Visual Studio、Microsoft Office System 以及开发工具包搭配。2. MySQL:不能与 Microsoft Visual Studio、Microsoft ...
伍袁心灵: 导出数据库命令: mysqldump -u root -p mydb2 > e:\mydb.sql 把数据库mydb2导出到e盘的mydb.sql 注意:在dos下进入mysql安装的bin目录下,但是不要登陆. 导入数据库命令: mysqldump -u root -p mydb2 把数据库e盘的mydb.sql导入到mydb2...
阎良区17613871847: 怎么将数据库及数据从sql数据库中导出 - ?
伍袁心灵: SQL Server 导入和导出向导为在数据源之间复制数据和构造基本包提供了一种最为简单的方法. bcp 实用工具 (Bcp.exe) 是一个使用大容量复制程序 (BCP) API 的命令行工具.bcp 实用工具可执行以下任务: 将 SQL Server 表中的数据大容量导出到数据文件中.从查询中大容量导出数据.将数据文件中的数据大容量导入到 SQL Server 表中.生成格式化文件.
阎良区17613871847: SQLServer中导入导出数据的方式有哪些? ?
伍袁心灵: 使用Transact-SQL对数据进行处理; 调用命令行工具BCP处理数据; 使用数据转换服务(DTS)对数据进行处理.
阎良区17613871847: SQL导出表数据:通过写什么命令可以把SQL里面查询到的表数据导出到txt或者Excel当中? - ?
伍袁心灵: 导出一般 常用 SQL中的 右键-属性--导出选择表,下一步, 选择导出类型,是EXCEL,还是TXT,下一步,下一步,OK!就会导出了.2.导出有三种类型,如下:这是利用BCP来做的,使用SQLServer自带的bcp命令——bcp 数据库名.dbo.表...
阎良区17613871847: 数据库的导入与导出 - ?
伍袁心灵: 导出数据库命令: mysqldump -u root -p mydb2 > e:\mydb.sql 把数据库mydb2导出到e盘的mydb.sql注意:在dos下进入mysql安装的bin目录下,但是不要登陆.导入数据库命令: mysqldump -u root -p mydb2 < e:\mydb.sql 把数据库e盘的mydb....
阎良区17613871847: sql server下面怎么导出查询结果?有没有类似informix下面的unload语句??
伍袁心灵: 1,将查询结果另存为. 2,用sqlserver bcp 这个 很复杂. 3,用导入导出工具. 你可以把你的查询结果重新插入到一个新表,然后再点数据库—》右键,—》任务—》导出数据.然后你就选择 你需要导出的类型. 这个有的 你好好看一下 ...
阎良区17613871847: sql2005把一个库中的表,导入的另一个库中 - ?
伍袁心灵: 如果在两个库中表结构一样的话,建议用BCP1.导出 BCP "select * from iCardgen.dbo.card where serialNo >=14099601 and serialNo <=14699600" queryout "D:\newCard.txt" -c -q -S"21.8.142.218" -U"sa" -P"developer"2.导入 BCP iCardNext4uat.dbo.Card in "d:\newCard.txt" -c -q -S"21.8.129.22" -U"icardnext" -P"111" -E 表中数据太大的建议导入的时候加上提交每10000条提交一次
阎良区17613871847: sqlserver 用命令如何导入导出表结构和表数据? - ?
伍袁心灵: 平常从SQLSERVER中进行导入导出时,我们利用SQLSERVER中自带的DTS转换工具即可,很方便.但有些特殊的用法需要用语句进行导入导出,工作中碰到这种情况,查了些资料,下面详细介绍:一、从excel表导入到SQLSERVER use ...
阎良区17613871847: 怎么把excel表格导入sql数据库 - ?
伍袁心灵: 方法/步骤1打开SQL Server Management Studio,按图中的路径进入导入数据界面.2导入的时候需要将EXCEL的文件准备好,不能打开.点击下一步.数据源:选择“Microsoft Excel”除了EXCEL类型的数据,SQL还支持很多其它数据源...
阎良区17613871847: 如何在sqlserver 2008数据库和文本文件或者excel之间导入导出 - ?
伍袁心灵: 右键user表所在的数据库,然后任务--导出数据,然后根据提示设置就行--从txt中导入 EXEC master..xp_cmdshell 'bcp Northwind.dbo.sysusers in c:\1.txt -c -Sservername -Usa -Ppassword' --用帐户密码连接方式,导出表所有数据 EXEC master.....