借鉴+总结!! mysql 客户端命令行下 查询数据并生成文件导出

方式1:在mysql命令行环境下执行: sql语句+INTO OUTFILE +文件路径/文件名 +编码方式(可选) 

例如:

select * from user  INTO OUTFILE  '/var/lib/mysql/msg_data.csv ' ;

注意事项:

0)可能会报没有 select command denied(没有查询权限)  或者 Access denied for user(没有file权限) ,增加权限之后即可。

1)不能存在同名文件,否则sql执行失败。

2)生成文件格式也可以是.txt/.xls/.csv。

3) 生成的文件中可能会有中文乱码问题,可以在语句后面+CHARACTER SET gbk (utf8等)

例如: select * from user  INTO OUTFILE  '/var/lib/mysql/msg_data.csv '  CHARACTER SET gbk;

4)如果sql查询出来的数据包含有很大的数值型数据,则在excel中这些数值数据可能会出问题,因此,可以先导出为.txt/.csv文件格式,再复制黏贴到excel文件中(首先设置单元格格式为文本)

方式2:在登录某服务器后,采用 mysql 命令执行 ,不需要登录进mysql命令行环境下。

mysql  -u用户名 -p  -e"select * from a" 数据库名 > 1.txt   

例如:mysql  -u用户名 -p --default-character-set=gb2312  -e"select * from a" 数据库名 > 1.txt   若有中文乱码,添加设置编码方式 utf8 、gbk

没有登录服务器下 mysql -h127.0.0.1 -u用户名 -p密码 -N -e"select * from a" 数据库名 > 1.txt



原文地址:https://www.cnblogs.com/wuyun-blog/p/6943394.html