在mysql 的console中該如何將查詢結果輸出到檔案?
進入mysql console 後,希望將查詢的結果輸出到檔案,該怎麼做?
mysql> select `col1`, `col2`, `col3` from table limit 0,10 into outfile '/tmp/sqloutput.txt'; Query OK, 10 rows affected (0.02 sec)
使用 into outfile 就可以解決這個問題
不過,特別應該注意的是:
* 如果是遠端連線到資料庫,那麼儲存的檔案會是在資料庫那台機器上,而不是自己客戶端的機器。因此,你使用的帳號必須有"FILE"的權限。
* 你的MYSQL要有寫入該目錄檔案的權限
* 輸出的檔案是以TAB分隔的資料列,不是sql語法。
* 輸出的檔案不能已存在,mysql 會出現檔案已存在的錯誤 ERROR 1086 (HY000): File 'xxx' already exists
* 如果遠端連到資料庫,在客戶端要把資料取出成檔案,可採用mysqldump即可:
mysqldump -u user_name -p -B db_name --tables table_name > your_outputfile.sql
或是
mysql -u user_name -p -B db_name -e "你的SQL SELECT語法" > your_outputfile.sql
參考資料
[1] Mysql 官網 http://dev.mysql.com/doc/refman/5.0/en/select.html
原文修改 2011-03-21 15:52:42