CSVファイルからMySQLテーブルへデータをインポートする方法
CSVファイルとは、実態としてはテキストファイルの一種であり、各値がカンマ(,)で区切られた「Comma Separated Values(カンマ区切り値)」形式のファイルを指します。MySQLのテーブルにCSVファイルからデータをインポートする際は、LOAD DATA INFILE ステートメントに FIELDS TERMINATED BY オプションを組み合わせて使用します。
インポートの手順
以下に、実際の例を使って手順を解説します。
ステップ1:CSVファイルを用意する
まず、A.CSV というファイルに次のようなカンマ区切りのデータが保存されているとします。
105,Chum,USA,11000 106,Danny,AUS,12000
ステップ2:インポート先のテーブルを作成する
次に、データを受け入れるためのテーブル employee1_tbl を作成します。
mysql> CREATE TABLE employee1_tbl(Id INT, Name VARCHAR(20), Country VARCHAR(20), Salary INT); Query OK, 0 rows affected (0.91 sec)
ステップ3:LOAD DATA INFILEでデータを取り込む
続いて、LOAD DATA LOCAL INFILE を使って、CSVファイルのデータをテーブルへ転送します。ここでポイントとなるのが FIELDS TERMINATED BY ',' の指定です。これにより、値がカンマで区切られていることをMySQLに伝えます。
mysql> LOAD DATA LOCAL INFILE 'd:\A.csv' INTO TABLE employee1_tbl FIELDS TERMINATED BY ','; Query OK, 2 rows affected (0.16 sec) Records: 2 Deleted: 0 Skipped: 0 Warnings: 0
ステップ4:結果を確認する
最後に、SELECT文でテーブルの中身を確認しましょう。
mysql> SELECT * FROM employee1_tbl; +------+-------+---------+--------+ | Id | Name | Country | Salary | +------+-------+---------+--------+ | 105 | Chum | USA | 11000 | | 106 | Danny | AUS | 12000 | +------+-------+---------+--------+ 2 rows in set (0.00 sec)
上記の結果セットから、A.CSV ファイル内のデータが正しく employee1_tbl テーブルへ転送されたことが確認できます。
補足:よく使われるオプション
- FIELDS TERMINATED BY ',':フィールド(列)の区切り文字としてカンマを指定します。TSVなど他の形式の場合は、区切り文字を変更してください。
- LINES TERMINATED BY '\n':行の区切り文字を指定します。Windowsで作成したファイルの場合は '\r\n' を指定するとよいでしょう。
- IGNORE 1 LINES:CSVファイルの1行目にヘッダー(見出し行)がある場合、その行を読み飛ばすことができます。
これらのオプションを適切に組み合わせることで、さまざまな形式のCSVファイルを柔軟にMySQLへインポートできます。
-
MySQLでテーブルにデータを挿入するストアドプロシージャの作成方法
MySQLでは、ストアドプロシージャを利用することで、テーブルへのデータ挿入処理を再利用可能な形でまとめることができます。本記事では、実際にテーブルを作成し、データを挿入するためのストアドプロシージャを定義して呼び出すまでの一連の手順を解説します。 1. 挿入先となるテーブルを作成する まず、データを挿入するためのテーブルを用意します。以下の例では、Id・Name・Age の3つのカラムを持つテーブル「insertDataUsingStoredProcedure」を作成しています。 mysql> create table insertDataUsingStoredProcedure
-
テキストファイルからExcelにデータをインポートする3つの方法
必要なデータがテキストファイルに保存されている場合、そのデータをExcelブックに取り込んで、さまざまな操作や分析を行いたいことがあります。この記事では、テキストファイルからExcelへデータをインポートするための、シンプルかつ効果的な3つの方法をわかりやすく解説します。 説明には、次のようなテキストファイル内のデータをサンプルとして使用します。このデータには、ある会社の営業担当者(Salesman)、製品(Product)、売上(Sales)の情報が含まれています。これらの情報をExcelワークシートに取り込んでいきましょう。 テキストファイルからExcelにデータをインポートする3つの方