• mysql查询结果输出到文件


    方式一

    在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;

    5)如果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: 数据库名;

    例:

    [root@localhost tmp]# 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"
  • 相关阅读:
    1.线程是什么?
    eclipse新手知识点1
    《图解Java多线程设计模式》UML用什么软件画?
    Microsoft SQL Server 2008完整+差异备份及还原实战
    xcopy
    导入EXCEL到数据库表中的步骤:
    js判断一个值是空的最快方法是不是if(!value){alert("这个变量的值是null");}
    Pytorch1.6.0 Nvidia Jetson TX2
    python所有的print就会自动打印到log.txt
    python import numpy right but import caffe wrong
  • 原文地址:https://www.cnblogs.com/yizhipanghu/p/9699106.html
Copyright © 2020-2023  润新知