MySQLでテーブルに記録されたデータを出力するには、INTO OUTFILEを使います。
SELECT * FROM テーブル名 INTO OUTFILE "ファイル名" FIELDS TERMINATED BY '\t';
FIELDS TERMINATED BYでフィールドの区切りを指定できます。
フォーム内容を記録している場合などは、フィールド内に様々な文字が含まれると思いますが、タブはなかなか記録されないのでだいたいタブ区切りにしておけばうまくいきます。
INTO OUTFILEには区切り線を指定するFIELDS TERMINATED BY以外にも、FIELDS ESCAPED BYでエスケープする文字を指定したりなど、多くのオプションがあります。
- TERMINATED BY
- フィールドの区切り文字
- ENCLOSED BY
- フィールドを囲う文字
- LINES TERMINATED BY
- 行の区切り文字
- ESCAPED BY
- エスケープ文字
mytableというテーブルを/home/user/mytabele.csvとして出力するには下記のように指定します。
区切り文字はカンマ( , )、囲い文字はダブルクォーテーション( " )、エスケープ文字はバックスラッシュ( \ )、行末は\r\nとします。
LOAD DATA LOCAL INFILE "/home/user/mytabele.csv" INTO TABLE mytable FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\r\n' ;