SQL Server 入門 SQL Server 入門

CSV ファイルを BULK INSERT を使ってインポートする

ホーム > 便利なT-SQL&クエリー集 > CSV ファイルを BULK INSERT を使ってインポートする

CSV ファイルを SQL Server にインポート

アプリケーションを開発していると、ファイルから SQL Server にデータをインポートしなければならないことがあります。

ここでは CSV ファイルを BULK INSERT を使って SQL Server のテーブルにインポートする一番シンプルな方法をご紹介します。

まずデータを保存するテーブルを作りましょう。

以下のクエリーを実行して、Students という名前のテーブルを作ります。

CREATE TABLE Students (
   StudentID INT NOT NULL PRIMARY KEY,
   FirstName VARCHAR(50) NULL,
   LastName VARCHAR(50) NULL,
   BirthDay DATE NULL,
   Gender CHAR(1) NULL
);

インポートしたい CSV ファイルを用意します。

以下のデータを NewStudents.txt というファイル名で C ドライブの直下に保存しました。

1,Taro,Yamada,1980-02-15,M
2,Hanako,Tanaka,1979-12-30,F
3,Yuko,Suzuki,1979-07-07,F
4,Takao,Sato,1980-03-12,M

BULK INSERT を使って 先ほど作った Students テーブルにデータをインポートします。

FIELDTERMINATOR にはデータを区切る文字を設定します。 今回は CSV ファイルなのでコンマ ',' を指定しました。 タブ区切りの場合は '\t' を指定すれば OK です。

ROWTERMINATOR には1行の終わりを示す文字を指定します。

BULK INSERT Students
FROM 'c:\NewStudents.txt'
WITH
(
   FIELDTERMINATOR = ',',
   ROWTERMINATOR = '\n'
);

正しくインポートされたか確認します。

以下のクエリーを実行して、Students テーブルに正しくデータがインサートされたかチェックします。

SELECT *
FROM   Students;

データが Students テーブルに正しくインサートされていることが確認できました。

BULK INSERT の結果
SQL Server 関連のおすすめ書籍
ホーム > 便利なT-SQL&クエリー集 > CSV ファイルを BULK INSERT を使ってインポートする