MySQL查詢結果寫入到文件總結


Mysql查詢結果導出/輸出/寫入到文件

方法一:
直接執行命令:

mysql> select count(1) from table  into outfile '/tmp/test.txt';
Query OK, 31 rows affected (0.00 sec)
在目錄/tmp/下會產生文件test.txt,文件格式最好是文本格式,其他格式有時候出現亂碼。
遇到的問題:
mysql> select count(1) from table   into outfile '/data/test.txt';
報錯:
ERROR 1 (HY000): Can't create/write to file '/data/test.txt' (Errcode: 13)
原因:mysql沒有向/data/下寫的權限 

方法二:
查詢都自動寫入文件:使用pager [cmd]  更改mysql的查詢輸出,cmd為linux的標准命令.
mysql> pager cat >> /tmp/test.txt ;
PAGER set to 'cat >> /tmp/test.txt'
之后的所有查詢結果都自動寫入/tmp/test.txt',並追加到文件后面。
mysql> select * from table ;
10 rows in set (0.39 sec)
在框口不再顯示查詢結果
回到標准輸出stdout:  mysql>nopager;


方法三:
跳出mysql命令行
[root@TEST ~]# mysql -h 127.0.0.1 -u root -p XXXX -P 3306 -e "select * from table"  >> /tmp/test.txt

或者寫好一個sql腳本執行,比如 /tmp/test.sql文件,文件路徑使用雙引號。

[root@TEST ~]# mysql -h 127.0.0.1 -u root -p XXXX -P 3306 <"/tmp/test.sql"  >> /tmp/test.txt


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM