使用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數據庫中的數據。