1 简介

  工作中产品经常会临时找我导出一些数据,导出mysql查询结果数据有几种方法,下面介绍3种.

   ①  mysql -u  -p  -e "sql" db > filepath  

   ②  echo "sql" | login > filepath

   ③  mysql login; use db; select * into outfile "filepath" from tb condition;

2 实例讲解

  ①  mysql -uroot -p123456 -e "select * from tb_user where id = 1" testdb > ~/wbwcachedata/tb_user.txt

      mysql -uroot -p123456 -e "select * from tb_user where id = 1" testdb > ~/wbwcachedata/tb_user.csv

      mysql -uroot -p123456 -e "select * from tb_user where id = 1" testdb > ~/wbwcachedata/tb_user.xls

    

    个人比较喜欢导出为csv,因为xls经常会出现几个字段合到了一列的情况.导出csv之后,以制表符tab为分隔点即可转成excel.

    另外如果出现中文乱码,可直接用命令转码  iconv -futf8 -tgb2312 -otb_user.xls tb_user1.xls.或者直接用文件软件转码即可(excel转ANSI码).

    ②  echo "select * from tb_user where id = 1" | mysql  -uroot  -p123456 > ~/wbwcachedata/mysqlexport0327-01.csv

      错误提示: ERROR 1046 (3D000) at line 1: No database selected

      没关系,我们在sql中加上use db即可:   

        echo "use testdb;  select * from tb_user where id = 1;" | mysql  -uroot  -p123456 > ~/wbwcachedata/mysqlexport0327-01.csv

     ③   登录mysql

      mysql -uroot -p 

      执行sql

      select * into outfile '~/wbwcachedata/mysqlexport0327-02.csv' from tb_user where id = 1;

      错误提示:  ERROR 1046 (3D000): No database selected

      记得选择数据库

      use  testdb;

      select * into outfile '~/wbwcachedata/mysqlexport0327-02.csv' from tb_user where id = 1;

      错误提示:  ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

      此时有两种解决办法,第一种是改mysql的my.ini的secure-file-priv路径重启mysql.

      第二种是

      执行   show variables like '%secure%';

      返回

+--------------------------+-----------------------+
                         | Variable_name            | Value                 |
                        +--------------------------+-----------------------+
                         | require_secure_transport | OFF                   |
                         | secure_auth              | ON                    |
                         | secure_file_priv         | /var/lib/mysql-files/ |
                        +--------------------------+-----------------------+

      发现mysql允许导出路径为/var/lib/mysql-files/

      我们执行sql

      select * into outfile '/var/lib/mysql-files/mysqlexport0327-02.csv' from tb_user where id = 1;

      然后用cp/mv命令把该文件转移到我们想要的路径.

      一般我是选第二种,在没必要的情况下,不应主动修改my.ini.

      

    

   

   

mysql 查询导出(txt,csv,xls)的更多相关文章

  1. ABAP upload file(*.txt *.csv *.xls)

    转自:http://blog.csdn.net/jy00873757/article/details/8534492 在SAP我们经常会用到*.txt, *.csv, *.xls三种文件格式 *.TX ...

  2. 将MYSQL查询导出到文件

    sql文件: set names utf8; select * from xxxxx mysql命令: mysql .sql .txt

  3. mysql 查询导出 excel 中文乱码 解决 --default-character-set=gbk

    mysql  --default-character-set=gbk -uroot -p   -D open_fusion -e  " select * from table1  " ...

  4. mysql导出csv/sql/newTable/txt的方法,mysql的导入txt/sql方法...mysql备份恢复mysqlhotcopy、二进制日志binlog、直接备份文件、备份策略、灾难恢复.....................................................

    mysql备份表结构和数据 方法一. Create table new_table_nam备份到新表:MYSQL不支持: Select * Into new_table_name from old_t ...

  5. 将mysql的查询结果导出为csv

    要将mysql的查询结果导出为csv,一般会使用php连接mysql执行查询,将返回的查询结果使用php生成csv格式再导出. 但这样比较麻烦,需要服务器安装php才可以实现. 直接使用mysql导出 ...

  6. mysql导出查询结果到csv方法

    要将MySQL的查询结果导出为csv,一般会使用php连接mysql执行查询,将返回的查询结果使用php生成csv格式再导出. 但这样比较麻烦,需要服务器安装php才可以实现. 直接使用mysql导出 ...

  7. mysql导出csv/excel文件的几种方法,mysql的load导入csv数据

    方法一 php教程用mysql的命令和shell select * into outfile './bestlovesky.xls' from bestlovesky where 1 order by ...

  8. MySQL 导入导出 CSV 文件

    导入 导出 清空表中的所有数据 注意事项 常见问题 ERROR 1290 (HY000): The MySQL server is running with the --secure-file-pri ...

  9. Mysql 导入导出csv 中文乱码

    这篇文章介绍了Mysql 导入导出csv 中文乱码问题的解决方法,有需要的朋友可以参考一下   导入csv: load data infile '/test.csv' into table table ...

随机推荐

  1. 通用类 对象Excel互转

    public class ExcelHelper { public void Demo(string filePath) { if (File.Exists(filePath)) File.Delet ...

  2. QEMU KVM Libvirt手册(11): Managing Storage

    When managing a VM Guest on the VM Host Server itself, it is possible to access the complete file sy ...

  3. SDL 开发实战(一):SDL介绍及开发环境配置

    一.什么是SDL? SDL是 “Simple DirectMedia Layer”的缩写,SDL是一个开源的跨平台的多媒体库,封装了复杂的音视频底层操作,简化了音视频处理的难度. SDL使用C语言写成 ...

  4. 免费申请使用IBM Cloud Lite(轻量套餐) 详细教程指南

    注册轻量帐户可在 IBM CLOUD控制台中使用所选的显示有轻量标记的免费轻量套餐来构建应用程序和探索服务.轻量帐户不会到期,也无需信用卡. 本文详细的介绍了一下,免费云服务的申请以及使用!这次使用I ...

  5. [Swift]LeetCode224. 基本计算器 | Basic Calculator

    Implement a basic calculator to evaluate a simple expression string. The expression string may conta ...

  6. CentOS安装gcc clang git mysql等软件高版本福利

    最近同事需要在单位提供的开发机上临时安装gcc等软件,时间紧迫,因此向其推荐安装福利devtoolset. 感谢devtoolset,使得CentOS软件安装无比的快捷,卸载也是无与伦比的简单. gc ...

  7. android 缩放平移自定义View 显示图片

    1.背景 现在app中,图片预览功能肯定是少不了的,用户基本已经形成条件反射,看到小图,点击看大图,看到大图两个手指开始进行放大,放大后,开始移动到指定部位~~~ 我相信看图的整个步骤,大家或者说用户 ...

  8. Python内置函数(8)——bytes

    英文文档: class bytes([source[, encoding[, errors]]]) Return a new “bytes” object, which is an immutable ...

  9. 要想学好Java编程,构造器、方法重载、this关键字、垃圾回收机制,这4关一定要过!

    有人说,你应该关注时事.财经,甚至流行的电影.电视剧,才有可能趁着热点写出爆文:有人说,你别再写“无聊”的技术文了,因为程序员的圈子真的很小,即便是像鸿洋那样的招牌大牛,文章是那么的干货,浏览量有多少 ...

  10. 一步一步教你如何用Python做词云

    前言 在大数据时代,你竟然会在网上看到的词云,例如这样的. 看到之后你是什么感觉?想不想自己做一个? 如果你的答案是正确的,那就不要拖延了,现在我们就开始,做一个词云分析图,Python是一个当下很流 ...