一般社団法人 全国個人事業主支援協会

COLUMN コラム

SQL Serverで大量のデータを取り扱うとき、手動で入力するのは非効率です。そんな時に便利なのが「BULK INSERT」です。今回は、CSVファイルをSQL Serverのテーブルに簡単に取り込む方法を紹介します。

1. テーブルの準備

まず、データを入れるテーブルを作りましょう。例えば、こんな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
);

これで、データを入れる箱ができました。

2. CSVファイルの準備

次に、CSVファイルをSQL Serverが読み込める場所に置きます。ここでは、C:\Data\people.csvに保存したとします。

3. BULK INSERTでデータを取り込む

いよいよデータを取り込みます。BULK INSERTコマンドを使ってCSVファイルをテーブルにインサートしましょう。

BULK INSERT People
FROM 'C:\Data\people.csv'
WITH (
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n',
FIRSTROW = 2
);

このコマンドのポイントは次の通りです。

  • FIELDTERMINATOR: 各フィールド(列)を区切る文字。CSVではカンマ(,)。
  • ROWTERMINATOR: 各行を区切る文字。一般的には改行(\n)。
  • FIRSTROW: データの取り込みを開始する行番号。ヘッダー行があるので2行目から開始。

4. データの確認

データがちゃんと取り込まれたか確認します。

SELECT * FROM People;

結果はこんな感じになるはずです。

id | name | age
----|------------|----
1 | John Doe | 30
2 | Jane Smith | 25
3 | Jim Brown | 40

これで、CSVファイルのデータをSQL Serverに取り込むことができました。

注意点

  • ファイルパスは、SQL Serverがアクセスできる場所にしてください。ネットワークドライブを使う場合、適切なアクセス権が必要です。
  • CSVファイルのフォーマットに気をつけましょう。特に文字列フィールドにカンマや改行が含まれている場合、エスケープ処理が必要こともあります。
  • 大量のデータを取り込むときは、インデックスを無効にするなどしてパフォーマンスを改善するするとよいでしょう。

BULK INSERTを使うと、大量のデータも簡単に取り込むことができるので、ぜひ活用してみてください。

The following two tabs change content below.

この記事をシェアする

  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア