ファイルからのデータ入力
MySQLを始めて勉強中。データベースとテーブルを作成した後、既存のcsvファイルをテーブルに流し込む操作をやってみた。
最初にテキストの例のとおりに以下のコマンドでやったみた。
mysql> load data infile "指定ファイルの絶対パス" into table テーブル名 fields terminated by "," lines terminated by "\n";
するとこんなエラーになった。
ERROR 13 (HY000): Can't get stat of '指定ファイルの絶対パス' (Errcode: 2)
そこで調べてみると、ここに(http://mlog.euqset.org/archives/ml@mysql.gr.jp/14306.html)解決策が出ていた。
なんでもload data infileはMySQLのサーバ側にファイルを読み込ませる文らしい。
mysqlユーザではサーバマシンの指定したファイルにアクセスできないのでエラーになるみたい。
一方、LOAD DATA LOCAL INFILEという文だとMySQLのクライアント側にファイルを読み込ませることができるらしいので
早速試してみるとうまくいった。
mysql> load data local infile "指定ファイルの絶対パス" into table テーブル名 fields terminated by "," lines terminated by "\n"; Query OK, 3 rows affected (0.00 sec) Records: 3 Deleted: 0 Skipped: 0 Warnings: 0