【SQL Server】 BULK INSERT でCSVやテキストファイルをインポート

BULK INSERT はCSVやテキストファイルからデータをインポートすることができる機能です。一括で登録するため高速に実行でき、大量のデータをインポートしたい場合などに適しています。

BULK INSERTの使い方

構文

BULK INSERT 【テーブル名】
FROM 【ファイルパス】
WITH
(
【オプション】
);

ファイルパスは絶対パスで指定します。
WITH内で指定するオプションは種類がいくつかありますが、使いそうなものだけまとめます。

  • DATAFILETYPE
  • FIELDTERMINATOR

DATAFILETYPE

DATAFILETYPE は対象のファイルの型を指定します。
デフォルト値は「char」で、Shift-JISの場合は省略してOKです。
Unicodeの場合は、下記のように「widechar」を指定します。

BULK INSERT TEST
FROM 'D:TESTTest.txt'
WITH
(
   DATAFILETYPE = 'widechar'
)

FIELDTERMINATOR

FIELDTERMINATOR は対象のファイルの区切り文字を指定します。
デフォルト値は「’t’」で、タブ区切りの場合は省略してOKです。
CSVの場合は、下記のように「’,’」を指定します。

BULK INSERT TEST
FROM 'D:TESTTest.txt'
WITH
(
   FIELDTERMINATOR = ','
)

Leave a Reply

Your email address will not be published. Required fields are marked *