SQL Server 入門 SQL Server 入門

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

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 を使ってインポートする