使用Bcp从命令行导入和导出SQL Server数据

Bcp是将数据导入数据库的最快方式

Microsoft SQL Server的批量复制(bcp)命令使您能够直接从命令行插入大量记录。 除了作为命令行爱好者的有用工具之外,bcp实用程序还是那些试图从批处理文件或其他编程方法中将数据插入SQL Server数据库的用户的强大工具。 有很多方法可以将数据导入到数据库中,但使用正确的参数设置bcp时速度最快。

bcp语法

使用bcp的基本语法是:

BCP

参数取值如下:

bcp导入示例

为了把它放在一起,想象你的库存数据库中有一个水果表,并且你想要将存储在你硬盘上的文本文件中的所有记录导入到这个数据库中。 您将使用以下bcp命令语法:

bcp inventory.dbo.fruits在“C:\ fruit \ inventory.txt”-c -T

这会产生以下输出:

C:\> bcp inventory.dbo.fruits在“C:\ fruit \ inventory.txt”-c -T开始复制...复制了36行。 网络包大小(字节):4096时钟时间(毫秒)总数:16平均值:(每秒2250.00行)C:\>

您可能已经注意到该命令行上有两个新选项。 -c选项指定导入文件的文件格式为制表符分隔的文本,每行记录在新行中。 -T选项指定bcp应使用Windows身份验证连接到数据库。

bcp导出示例

通过将操作方向从“in”更改为“out”,可以使用bcp从数据库导出数据。例如,可以使用以下命令将水果表的内容转储到文本文件:

bcp inventory.dbo.fruits out“C:\ fruit \ inventory.txt”-c -T

以下是命令行中的外观:

C:\> bcp inventory.dbo.fruits out“C:\ fruit \ inventory.txt”-c -T开始复制...复制了42行。 网络包大小(字节):4096时钟时间(毫秒)总数:1平均值:(每秒42000.00行)C:\>

这就是所有的bcp命令。 您可以在批处理文件或其他具有DOS命令行访问权限的程序中使用此命令,以自动导入和导出SQL Server数据库中的数据。