Muni Bus

パソコンの操作方法や設定方法を忘れないようにメモしています。ブログを一回引っ越ししているので、所々表示がかなり乱れています・・・

【MySQL】テキストファイルの中身をテーブルに読み込む

load data infile文を使う。以下は、princessというデータベースを新規作成し、その中にseiyuというテーブルを作成し、あらかじめ用意しておいたファイルseiyu.csvの中身をテーブルに読み込んだ例。

seiyu.csv文字コードUTF-8、改行コード:CR+LF、BOM無し)

id,name
miwami01,岩見舞菜香
kyuki01,優木かな
mwatada01,和多田美咲
machico01,Machico

実行する。ファイルはフルパスで指定する必要がある。fields terminated by句に列の区切り文字を指定し、lines terminated by句にはファイルの改行コードを指定する。読み込むファイルの改行コードがCR+LFの場合は'\r\n'と指定する必要がある。'\n'はLFだけの場合を指すので注意。CR+LFのときに'\n'で読み込むと、最初と最後の桁の中身が文字化けする。

mysql> create database princess;
Query OK, 1 row affected (0.00 sec)
mysql> use princess;
Database changed
mysql> show tables;
Empty set (0.00 sec)
mysql> create table seiyu (
    ->  id varchar(16),
    ->  name varchar(32)
    -> );
Query OK, 0 rows affected (0.02 sec)
mysql> load data infile '○:/○○○/seiyu.csv'
    ->  into table seiyu
    ->  fields terminated by ','
    ->  lines terminated by '\r\n'
    ->  ignore 1 lines;
Query OK, 4 rows affected (0.00 sec)
Records: 4  Deleted: 0  Skipped: 0  Warnings: 0
mysql> show tables;
+--------------------+
| Tables_in_princess |
+--------------------+
| seiyu              |
+--------------------+
1 rows in set (0.00 sec)
mysql> select * from seiyu;
+-----------+------------+
| id        | name       |
+-----------+------------+
| miwami01  | 岩見舞菜香 |
| kyuki01   | 優木かな   |
| mwatada01 | 和多田美咲 |
| machico01 | Machico    |
+-----------+------------+
4 rows in set (0.00 sec)