CSVファイルからSQLへのデータ一括挿入手法

CSV(Comma-Separated Values)ファイルは、データ交換のための広く利用されるフォーマットの一つです。多くの場合、大量のデータを一度にデータベースに挿入する必要があります。この記事では、CSVファイルからSQLデータベースへデータを一括で挿入する手法について解説します。

目次

CSVとは?

CSV(Comma-Separated Values)は、フィールドがカンマで区切られ、レコード(行)が改行で区切られるテキストデータファイルの形式です。Excelでも簡単に扱うことができます。

SQLとは?

SQL(Structured Query Language)は、リレーショナルデータベース管理システム(RDBMS)でデータを操作するためのプログラミング言語です。SELECT、INSERT、UPDATE、DELETEなどのクエリを使用してデータベース内のデータにアクセスします。

CSVからSQLへの一括データ挿入の手法

一般的に、CSVからSQLへのデータ挿入にはいくつかの方法があります。以下、その主な手法と使用場面を詳しく解説します。

手法1: LOAD DATA INFILE(MySQL)

MySQLデータベースにおいては、`LOAD DATA INFILE`コマンドを使用してCSVファイルからデータを一括挿入できます。

LOAD DATA INFILE '/path/to/csv/file.csv'
INTO TABLE table_name
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';
オプション説明
LOAD DATA INFILE一括挿入を開始するコマンド
FIELDS TERMINATED BYフィールドの区切り文字
LINES TERMINATED BYレコード(行)の区切り文字
テーブル名称1: LOAD DATA INFILEのオプション

手法2: BULK INSERT(SQL Server)

SQL Serverでは、`BULK INSERT`コマンドを使用してCSVからデータを一括挿入できます。

BULK INSERT table_name
FROM '/path/to/csv/file.csv'
WITH (
  FIELDTERMINATOR = ',',
  ROWTERMINATOR = '\n'
);
オプション説明
BULK INSERT一括挿入を開始するコマンド
FIELDTERMINATORフィールドの区切り文字
ROWTERMINATORレコード(行)の区切り文字
テーブル名称2: BULK INSERTのオプション

まとめ

CSVファイルからSQLデータベースへのデータ一括挿入は、データ交換やマイグレーション作業において非常に便利です。MySQLの`LOAD DATA INFILE`やSQL Serverの`BULK INSERT`など、データベースによっては専用のコマンドが用意されている場合もあります。これらのコマンドを理解して使いこなすことで、大量のデータを効率よくデータベースに挿入することができます。

コメント

コメントする

目次