SQL Serverで大量のデータを取り扱うとき、手動で入力するのは非効率です。そんな時に便利なのが「BULK INSERT」です。今回は、CSVファイルをSQL Serverのテーブルに簡単に取り込む方法を紹介します。
まず、データを入れるテーブルを作りましょう。例えば、こんなCSVファイルがあるとします。
id,name,age
1,John Doe,30
2,Jane Smith,25
3,Jim Brown,40
このデータを入れるためのテーブルを作成します。
CREATE TABLE People (
id INT,
name NVARCHAR(50),
age INT
);
これで、データを入れる箱ができました。
次に、CSVファイルをSQL Serverが読み込める場所に置きます。ここでは、C:\Data\people.csv
に保存したとします。
いよいよデータを取り込みます。BULK INSERTコマンドを使ってCSVファイルをテーブルにインサートしましょう。
BULK INSERT People
FROM 'C:\Data\people.csv'
WITH (
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n',
FIRSTROW = 2
);
このコマンドのポイントは次の通りです。
FIELDTERMINATOR
: 各フィールド(列)を区切る文字。CSVではカンマ(,
)。ROWTERMINATOR
: 各行を区切る文字。一般的には改行(\n
)。FIRSTROW
: データの取り込みを開始する行番号。ヘッダー行があるので2行目から開始。データがちゃんと取り込まれたか確認します。
SELECT * FROM People;
結果はこんな感じになるはずです。
id | name | age
----|------------|----
1 | John Doe | 30
2 | Jane Smith | 25
3 | Jim Brown | 40
これで、CSVファイルのデータをSQL Serverに取り込むことができました。
BULK INSERTを使うと、大量のデータも簡単に取り込むことができるので、ぜひ活用してみてください。