Mysql查询结果导出/输出/写入到文件
方法一:
直接执行命令:
mysql> select count(1) from table into outfile \'/tmp/test.txt\';
Query OK, 31 rows affected (0.00 sec)
在目录/tmp/下会产生文件test.txt,文件格式最好是文本格式,其他格式有时候出现乱码。
遇到的问题:
原因:mysql没有向/data/下写的权限
方法二:
查询都自动写入文件:使用pager [cmd] 更改mysql的查询输出,cmd为linux的标准命令.
之后的所有查询结果都自动写入/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)
方法二:
查询都自动写入文件:使用pager [cmd] 更改mysql的查询输出,cmd为linux的标准命令.
mysql> pager cat >> /tmp/test.txt ; PAGER set to \'cat >> /tmp/test.txt\'
mysql> select * from table ; 10 rows in set (0.39 sec)
回到标准输出stdout: mysql>nopager;
方法三:
跳出mysql命令行
方法三:
跳出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