MySQL: 改行を含むデータのload data local infile
改行を含むデータをload data local infileしたかったので、
ちゃんとマニュアルを読んでみました。
サンプルテーブルは以下。
このテーブルに、以下のようなテキストファイルを作成。
データ間はタブで区切って、
^A = Ctrl-A = 0x01 で行を区切ったデータを取り込んでみる。
無事取り込み完了。
0x01はシングルクォートやダブルクォートでくくらないのが(強いて言えば)ポイントか。
以上、自分用メモ。
ちゃんとマニュアルを読んでみました。
サンプルテーブルは以下。
mysql> show create table test2 \G
*************************** 1. row ***************************
Table: test2
Create Table: CREATE TABLE `test2` (
`id` int(11) NOT NULL,
`desc` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
このテーブルに、以下のようなテキストファイルを作成。
/tmp% less test2.dat
1 あああ
いいい
ううう^A2 えええ
おおお
データ間はタブで区切って、
^A = Ctrl-A = 0x01 で行を区切ったデータを取り込んでみる。
mysql> load data local infile '/tmp/test2.dat' into table test2 lines terminated by 0x01;
Query OK, 2 rows affected (0.06 sec)
Records: 2 Deleted: 0 Skipped: 0 Warnings: 0
mysql> select * from test2 \G
*************************** 1. row ***************************
id: 1
desc: あああ
いいい
ううう
*************************** 2. row ***************************
id: 2
desc: えええ
おおお
2 rows in set (0.00 sec)
無事取り込み完了。
0x01はシングルクォートやダブルクォートでくくらないのが(強いて言えば)ポイントか。
以上、自分用メモ。