SQL Server の BULK INSERT の使い方と大量データの挿入
BULK INSERTは、SQL Serverで大量データを挿入するためのコマンドです。外部ファイルのデータを高速にテーブルにロードすることができ、データを逐次挿入する方法よりも効率的です。
BULK INSERTの使い方は次のとおりです。
- バルクインサートを実行する前に、外部データファイルのデータ形式に一致する構造のターゲットテーブルを作成する必要があります。
- データファイルの準備:挿入するデータをテキストファイルで保存します。 各行は1つのレコードを表します。各フィールドは区切り文字(コンマ、タブなど)で区切ります。
- 外部ファイルのデータをターゲットテーブルに読み込むBULK INSERTコマンドを実行する。コマンドの基本構文を以下に示す。
BULK INSERT target_table FROM 'data_file' WITH (options);
target_tableは目的のテーブル名で、data_fileは外部データのファイルパスです。optionsはデータの形式、区切り記号などを指定するためのオプションのパラメーターです。
たとえば、「Customers」という名のテーブルに、「C:\data\customers.txt」内のファイルをカンマで区切って読み込む場合の、このコマンドは次のようになります。
BULK INSERT Customers FROM 'C:\data\customers.txt' WITH (FIELDTERMINATOR = ',', ROWTERMINATOR = '\n');
具体的なニーズに応じて、エンコード指定やヘッダー行のスキップなど、さまざまなオプションを設定できます。
注意しておかなければならないのは、BULK INSERT コマンドを実行するには、一般的にターゲット テーブルへの書き込み権限が必要であり、外部データ ファイルのパスも SqlServer からアクセスできなければなりません。
BULK INSERTは、SQL Serverで大量のデータを効率的に挿入するためのコマンドであり、挿入速度を大幅に向上させることができます。