SQL Server や T-SQL を初めて学ぶ人のための学習サイトです。 便利なクエリーやチューニングの仕方なども掲載しています。
SQL Server 入門
T-SQL 入門
便利なT-SQL&クエリー集
SQL Server&T-SQLに関するコラム
サイト情報
MCTS: SQL Server 2008, Database Development
サイト内検索
カスタム検索
ホーム > 便利な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 の結果


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

© 2014 SQL Server 入門