如何使用SQL Server命令BCP 导入导出EXCEL数据

sql语句导出sever中的数据到Excel中

操作方法

  • 01

    SQL Server BCP 导入导出使用 Bcp 导出导入数据高效,比使用SQL Server Management Stdio 提供的数据库导出导入要高效因为sql server 也没有提供提供类似oracle的expdp和impdp的工具,如果用SQL Server Management Stdio提供的导入导出对大表数据进行迁移速度太慢了 Bcp 导出数据高效比较适用于大表数据的迁移 进入doc命令行输入bcp命令,就弹出bcp命令的帮助信息: C:\Users\wangwei>bcp 用法: bcp {dbtable | query} {in | out | queryout | format} 数据文件 [-m 最大错误数]             [-f 格式化文件]       [-e 错误文件] [-F 首行]                   [-L 末行]             [-b 批大小] [-n 本机类型]               [-c 字符类型]         [-w 宽字符类型] [-N 将非文本保持为本机类型] [-V 文件格式版本]     [-q 带引号的标识符] [-C 代码页说明符]           [-t 字段终止符]       [-r 行终止符] [-i 输入文件]               [-o 输出文件]         [-a 数据包大小] [-S 服务器名称]             [-U 用户名]           [-P 密码] [-T 可信连接]               [-v 版本]             [-R 允许使用区域设置] [-k 保留 Null 值]           [-E 保留标识值] [-h"加载提示"]              [-x 生成 xml 格式化文件] 参数介绍: 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 指定被导出表要导到哪一行结束,或从被导入文件导数据时,导到哪一行结束。 -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值插入,而不是这列的默认值。 使用bcp导出数据 在控制台执行bcp: bcp db_name.dbo.T_tablename  out c:\a.txt -c -T bcp db_name.dbo.T_tablename out c:\a.txt -c -Uusername -Pxxxxx 通过调用SQL Server的一个系统存储过程xp_cmdshell以SQL语句的方式运行bcp: exec master..xp_cmdshell 'bcp db_name.dbo.T_tablename  out c:\a.txt -c -T'    --"-T"信任连接 exec master..xp_cmdshell 'bcp db_name.dbo.T_tablename out c:\a.txt -c -Usa -Pxxxxx' 说明: -T指定 bcp 使用网络用户的安全凭据,通过信任连接连接到 SQL Server。不需要 login_id 和 password。 如果不是使用T需要加上-U和-P参数输入用户名和密码 如果是本地导入导出可以不加-S参数,如果连接到远程服务需要加-S参数 bcp db_name.dbo.tablename out d:\table.txt -c -q -S"120.26.76.220,1833" -U"sa" -P"password" 对要导出的表进行过滤。 bcp不仅可以接受表名或视图名做为参数,也可以接受SQL做为参数,通过SQL语句可以对要导出的表进行过滤,然后导出过滤后的记录。 EXEC master..xp_cmdshell 'bcp "SELECT TOP 20 * FROM db_name.dbo.T_tablename" queryout c:\table2.txt -c -U"sa" -P"password"' bcp还可以通过简单地设置选项对导出的行进行限制。 这条命令使用了两个参数-F 2和-L 16,表示从SE EXEC master..xp_cmdshell 'bcp "SELECT TOP 20 * FROM db_name.dbo.T_tablename" queryout c:\currency2.txt -F 2 -L 16 -c -U"sa" -P"password"' SELECT TOP 20 * FROM db_name.dbo.T_tablename所查出来的结果中取第2条到16条记录进行导出。 使用bcp导入数据 bcp可以通过in命令将bcp导出的文件导入到表中,首先需要创建表结构和导出数据的表结构相同 在控制台执行bcp: bcp db_name.dbo.T_tablename  in c:\a.txt-c -T bcp db_name.dbo.T_tablename in c:\a.txt -c -Uusername -Pxxxxx 通过调用SQL Server的一个系统存储过程xp_cmdshell以SQL语句的方式运行bcp: exec master..xp_cmdshell 'bcp db_name.dbo.T_tablename  in c:\a.txt-c -T'    --"-T"信任连接 exec master..xp_cmdshell 'bcp db_name.dbo.T_tablename in c:\a.txt -c -Usa -Pxxxxx'

(0)

相关推荐

  • 如何在SQL Server创建数据库导入已有数据

    用SQL Server创建一个数据库后,很多数据在其他的数据库中已存在,没有必要再重新创建,如何将已有数据导入到新建数据库中呢?笔者与大家分享一下操作. 操作方法 01 打开SQL Server 20 ...

  • SQL Server直接在数据库中创建数据表

    主要介绍SQL Server直接在数据库中创建数据表.在给客户实施的过程中,经常需要创建一些自定义的数据表来支持一些业务逻辑,因此创建数据表是二次开发过程中的一种常见操作,也是DBMS的基本功能. 操 ...

  • SQL server无法禁用xx已将数据库存上下文更改成为master2002错误解决方法

    西西在做一次SQL SERVER 2005数据库迁移的时候出现了问题。 原来的数据库是做了复制同步的,现在在新的服务器上是采用附加MDB文件的方案把表还原过来的,结果要在新服务器上做同步的时候就出现了 ...

  • SQL Server数据的导入导出

    SQL Server 2008的导入导出服务可以实现不同类型的数据库系统的数据转换.为了让用户可以更直观的使用导入导出服务,微软提供了导入导出向导.导入和导出向导提供了一种从源向目标复制数据的最简便的 ...

  • 如何把SQL Server的数据库导为sql文件

    前言三桥君在学习数据库这门课程的过程中,被数据库的导入导出这个问题给困扰了很多次.在SQL Server软件中导入导出数据库的方法很多种,但是很多是比较复杂麻烦的,甚至报错了从网上也不方便找到解决方法 ...

  • SQL SERVER 2005数据导入图文教程

    想好好学习数据库(SQL SERVER)方面的知识,哪怕是工具的使用也好。每天前进一小步,才能成就未来一大步。今天要介绍的是怎么使用Microsoft SQL Server Management St ...

  • SQL Server数据库中的表和视图怎么导出?

    SQL Server已有数据库中的数据想要导出来,该怎么导出呢?下面我们就来看看详细的教程. 1.打开SQL Server,找到需要导出的数据库. 2.在需要导出的数据库上右击,选择任务选项中的导出数 ...

  • SQL Server2000如何进行数据库导入导出

    SQL Server 2000如何进行数据库导入导出,首先这里我要给大家声明的是,我们这里做数据库的导入导出主要是针对于 数据库与库之间进行的.那么接下来就由小编给大家做出一 一介绍吧. 操作方法 0 ...

  • sql server导入excel等数据

    现在sql server数据库应用的非常广泛,但经常需要在项目完成后将测试数据删除,导入正式的数据,下面演示怎么导入数据 操作方法 01 首先打开并登陆sql server数据库,如图 02 选择要将 ...