fc2ブログ

2012-07-15(Sun)

MySQLでCSVファイルの読み書き

大前提として、CSVファイルを使うユーザーはFILE権限が必要だということをお忘れなきよう。

FILE権限があるか確認
mysql> show grants for current_user();
+------------------------------------------------------------------------------------------------------------+
| Grants for testuser@localhost |
+-----------------------------------------------------------------------------------------------------------------------------------------+
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, LOCK TABLES ON *.* TO 'testuser'@'localhost' IDENTIFIED BY PASSWORD '*******' |
+-----------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

FILE権限を与える
mysql> GRANT FILE ON *.* TO testuser@localhost;

読み出し
mysql> SELECT * FROM test_table INTO OUTFILE "/home/hoge/test_table.csv" FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"';

この時、以下のようなエラーが出たらここを参考。ようはパーミッションの問題。なんでもありの/tmpに吐き出す。
ERROR 1 (HY000): Can't create/write to file '/home/hoge/test_table.csv' (Errcode: 13)
mysql> SELECT * FROM test_table INTO OUTFILE "/tmp/test_table.csv" FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"';
Query OK, 17112 rows affected (0.03 sec)

書き込み
mysql>LOAD DATA INFILE "/var/lib/mysql/hoge_db/cc.csv" INTO TABLE user_table FIELDS TERMINATED BY ',' ENCLOSED BY '"';


関連記事
スポンサーサイト



コメントの投稿

管理者にだけ表示を許可する

コメント

プロフィール

kumagonjp2

Author:kumagonjp2
Python,Django,R,Mongo,MySQL,Struts,Spring,データマイニングなどサーバー関係のメモを残していきます。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
雪が3Dで降るブログパーツ ver2

マウスで見る方向変えられます

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR