T-SQL筆記51_藉由BULK INSERT來將CSV檔案存入到暫存表
到政府公開資料平台網站 下載範本
此範本資料量較少但是很好的資料範本
https://data.gov.tw/dataset/164152
主要欄位說明
信用合作社別、總部分支機構別、金融代號、郵遞區號、所在縣市、行政區、住址、電話
將檔案另存成unicode編碼並更名為test.csv(不然讀取會出現中文亂碼!)
存放到DB Server的C槽temp目錄(可自己指定路徑)
開始撰寫SQL 腳本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | drop table #bulkInsert --CREATE TABLE #bulkInsert (col1 NVARCHAR(MAX) NULL) CREATE TABLE #bulkInsert (信用合作社別 NVARCHAR(MAX) NULL, 總部分支機構別 NVARCHAR(MAX) NULL, 金融代號 NVARCHAR(MAX) NULL, 郵遞區號 NVARCHAR(MAX) NULL, 所在縣市 NVARCHAR(MAX) NULL, 行政區 NVARCHAR(MAX) NULL, 住址 NVARCHAR(MAX) NULL, 電話 NVARCHAR(MAX) NULL ) BULK INSERT #bulkInsert FROM 'C:\temp\test.csv' WITH ( firstrow=2, FIELDTERMINATOR = N',', ROWTERMINATOR =N'\n' ); SELECT * FROM #bulkInsert |
firstrow代表要從第幾橫列開始讀入,預設若沒指定會以第一橫列開始所以會把表頭也撈近來。
FIELDTERMINATOR = ','指定列之間的分隔符為逗號,ROWTERMINATOR = '\n'指定行終止符為換行符。
Ref:
How to BULK INSERT a file into a *temporary* table where the filename is a variable?
sql server bulk insert csv into temp table
SQL BULK INSERT
sql server2014使用BULK INSERT导入UTF-8数据中文乱码问题
如何將CSV檔轉UTF8編碼
BULK INSERT 有選項
留言
張貼留言