使用命令行进行MySQL查询并导出到文件时遇到了困难。平时常用的“|clip”(写入到剪贴板)和“> 文件名”(写入到***文件)都不再可用,经过研究,在登录MySQL服务器之后是无法将查询结果进行导出的。
换个思路,既然在MySQL中无法将查询进行导出,那MySQL之外呢?经过尝试,确实可以,方法如下所示:
mysql -u demo -p -e "select * from demo.tableName" > outputfile.txt
以上语句的作用是以“demo”用户名对MySQL服务器发起查询,执行后边的查询语句,然后将查询结果直接显示到命令行,这样就可以用常用的办法来对输出的数据进行处理。需要注意的时,表名要写为“数据库.数据表”的形式,示例中就是“demo.tableName”,意为在demo数据库的tableName数据表中进行查询。这条语句等价于:
use demo; select * from tableName
也就是说,必须要指定数据库名,即使你的MySQL账号下只有一个数据库,即使数据库名字与用户名相同。未选定数据库将会报错。