目 录CONTENT

文章目录

MySQL查询结果输出到文件

陌念
2022-12-07 / 0 评论 / 0 点赞 / 38 阅读 / 0 字
温馨提示:
本文最后更新于2024-08-19,若内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

查询以键值对格式输出:任何查询后面加上\G

select * FROM cms_article_record WHERE article_id = 4926794328048640 \G     

方式一

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

例如:

SELECT * FROM (表名) INTO OUTFILE '/usr/local/test.txt';

注意事项:

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

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

  3. 生成文件格式也可以是.txt .xls .csv

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

例如:

 SELECT * FROM (表名) INTO OUTFILE '/usr/local/test.txt' CHARACTER SET gbk;
  1. 如果sql查询出来的数据包含有很大的数值型数据,则在excel中这些数值数据可能会出问题,因此,可以先导出为.txt .csv文件格式,再复制黏贴到excel文件中(首先设置单元格格式为文本)

方式二

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

例如:

$ mysql -h 127.0.0.1 -u用户名 -p密码 --default-character-set=gb2312 -e "select * from 表名" 数据库名 > test.txt

   注:-e 查询条件语句,后面跟上目标数据库

若有中文乱码,添加设置编码方式 utf8 、gbk

注:不登陆数据库执行 MySQL 命令

有的时候需要查看数据库的某些信息,然后继续接下来的 shell 命令操作,登录数据库在退出嫌麻烦可以使用这招:

例 1:列出所有数据库

$ mysql -h host_name -P3306 -u user_name -p'password' -se "show databases;"

例 2:列出 database 下的所有表

$ mysql -h host_name -P3306 -u user_name -p'password' -D database -se "show tables;"

host_name:数据库 host 或者 IP 地址;

user_name:登录数据库用户名;

password:登录数据库密码;

database:数据库名;

例:

$ mysql -h 172.16.30.50 -uroot -proot -D plat -se "SELECT ip_str,major_version,minor_version,vendor,series,model FROM plat_resource_config"
$ mysql -h 127.0.0.1 -u用户名 -p密码 -e "select family_code,credit_code,name,rating_type,rating_id,rating_status from rongxin_credit.rcd_rating where t_id = '63313fc4971d124a882d0209'" rongxin_credit > rongxin_credit2404181600.csv

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin
  3. QQ打赏

    qrcode qq

评论区