Bcp是將數據導入數據庫的最快方式
Microsoft SQL Server的批量複製(bcp)命令使您能夠直接從命令行插入大量記錄。 除了作為命令行愛好者的有用工具之外,bcp實用程序還是那些試圖從批處理文件或其他編程方法中將數據插入SQL Server數據庫的用戶的強大工具。 有很多方法可以將數據導入到數據庫中,但使用正確的參數設置bcp時速度最快。
bcp語法
使用bcp的基本語法是:
BCP參數取值如下:
- Table_name是表格的完全限定名稱。 例如,您可以使用inventory.dbo.fruits將記錄插入庫存數據庫中數據庫所有者擁有的水果表中。
- 方向指示您要導入(“入”方向)還是導出(“出”方向)數據。
- File_name是文件的完整路徑。 例如,您可以導入文件C:\ fruit \ inventory.txt。
- 選項允許您為批量操作指定參數。 例如,您可以指定-m選項允許的最大錯誤數。 您也可以使用-x選項來指定XML文件格式。 查閱Microsoft的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數據庫中的數據。