使用 BCP 导入和导出批量数据 (SQL Server)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)

本主题概述了如何使用 bcp 实用工具 从 SQL Server 数据库中可使用 SELECT 语句的任意位置(包括分区视图)导出数据。

bcp 实用工具 (Bcp.exe) 是一个使用大容量复制程序 (BCP) API 的命令行工具。 bcp 实用工具可执行以下任务:

  • 将 SQL Server 表中的数据批量导出到数据文件中。

  • 从查询中批量导出数据。

  • 将数据文件中的数据批量导入到 SQL Server 表中。

  • 生成格式化文件。

bcp 实用工具可通过 bcp 命令进行访问。 使用 bcp 命令批量导入数据时,除非使用已有的格式化文件,否则必须了解表的架构及其各列的数据类型。

bcp 实用工具可将 SQL Server 表中的数据导出到数据文件,以供其他程序使用。 此实用工具还可将其他程序(通常为另一数据库管理系统 (DBMS))中的数据导入 SQL Server 表。 数据首先从源程序导出到数据文件,然后再通过单独的操作将数据文件中的数据复制到 SQL Server 表中。

bcp 命令提供可指定数据文件的数据类型和其他信息的开关。 如果未指定这些开关,则此命令会提示您指定格式信息,例如数据文件中数据字段的类型。 然后此命令会询问您是否要创建包含交互式响应的格式化文件。 如果希望在以后的批量导入或批量导出操作中具有灵活性,格式化文件通常会很有用。 可以在稍后对同等数据文件使用 bcp 命令时指定该格式化文件。 有关详细信息,请参阅在使用 bcp 时指定数据格式以实现兼容性 (SQL Server)

备注

bcp 实用工具通过使用 ODBC 大容量复制进行编写。

有关 bcp 命令语法的说明,请参阅 bcp Utility

示例

以下主题包含有关使用 bcp的示例:
bcp 实用工具

用于批量导入或导出的数据格式 (SQL Server)
 ● 使用本机格式导入或导出数据 (SQL Server)
 ● 使用字符格式导入或导出数据 (SQL Server)
 ● 使用 Unicode 本机格式导入或导出数据 (SQL Server)
 ● 使用 Unicode 字符格式导入或导出数据 (SQL Server)

指定字段终止符和行终止符 (SQL Server)

在批量导入期间保留 Null 或使用默认值 (SQL Server)

大容量导入数据时保留标识值 (SQL Server)

用于导入或导出数据的格式化文件 (SQL Server))
 ● 创建格式化文件 (SQL Server)
 ● 使用格式化文件批量导入数据 (SQL Server)
 ● 使用格式化文件跳过表列 (SQL Server)
 ● 使用格式化文件跳过数据字段 (SQL Server)
 ● 使用格式化文件将表列映射到数据文件字段 (SQL Server)

批量导入和导出 XML 文档的示例 (SQL Server)

更多示例和信息