mysql 查询导出(txt,csv,xls)
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)的更多相关文章
- ABAP upload file(*.txt *.csv *.xls)
转自:http://blog.csdn.net/jy00873757/article/details/8534492 在SAP我们经常会用到*.txt, *.csv, *.xls三种文件格式 *.TX ...
- 将MYSQL查询导出到文件
sql文件: set names utf8; select * from xxxxx mysql命令: mysql .sql .txt
- mysql 查询导出 excel 中文乱码 解决 --default-character-set=gbk
mysql --default-character-set=gbk -uroot -p -D open_fusion -e " select * from table1 " ...
- 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 ...
- 将mysql的查询结果导出为csv
要将mysql的查询结果导出为csv,一般会使用php连接mysql执行查询,将返回的查询结果使用php生成csv格式再导出. 但这样比较麻烦,需要服务器安装php才可以实现. 直接使用mysql导出 ...
- mysql导出查询结果到csv方法
要将MySQL的查询结果导出为csv,一般会使用php连接mysql执行查询,将返回的查询结果使用php生成csv格式再导出. 但这样比较麻烦,需要服务器安装php才可以实现. 直接使用mysql导出 ...
- mysql导出csv/excel文件的几种方法,mysql的load导入csv数据
方法一 php教程用mysql的命令和shell select * into outfile './bestlovesky.xls' from bestlovesky where 1 order by ...
- MySQL 导入导出 CSV 文件
导入 导出 清空表中的所有数据 注意事项 常见问题 ERROR 1290 (HY000): The MySQL server is running with the --secure-file-pri ...
- Mysql 导入导出csv 中文乱码
这篇文章介绍了Mysql 导入导出csv 中文乱码问题的解决方法,有需要的朋友可以参考一下 导入csv: load data infile '/test.csv' into table table ...
随机推荐
- 有关promise的技巧
其实promise的作用是将异步的代码转化为同步,这里的异步指的是request1,request2.
- [Swift]LeetCode265.粉刷房子 II $ Paint House II
There are a row of n houses, each house can be painted with one of the k colors. The cost of paintin ...
- [Swift]LeetCode668. 乘法表中第k小的数 | Kth Smallest Number in Multiplication Table
Nearly every one have used the Multiplication Table. But could you find out the k-th smallest number ...
- [Swift]LeetCode835. 图像重叠 | Image Overlap
Two images A and B are given, represented as binary, square matrices of the same size. (A binary ma ...
- JDBC也就那么回事
JDBC 一.JDBC概述 为什么要使用JDBC? JDBC:Java DataBase Connectivity,是SUN公司提供的一套操作数据库的标准规范(技术). JDBC与数据库驱动的关系:接 ...
- BUGKU-逆向(reverse)-writeup
目录 入门逆向 Easy_vb Easy_Re 游戏过关 Timer(阿里CTF) 逆向入门 love LoopAndLoop(阿里CTF) easy-100(LCTF) SafeBox(NJCTF) ...
- maven的安装与配置(本地仓库、阿里云镜像设置)
参考一:https://www.cnblogs.com/sigm/p/6035155.html 参考二:https://blog.csdn.net/AmaniZ/article/details/792 ...
- PyCharm证书过期:Your license has expired
报错“your evaluation license has expired, pycharm will now exit”1.解决步骤,点击‘Activation code’,授权激活pycharm ...
- Jquery 对DOM 的操作
.focus 获取焦点 .blus离开焦点----------------------------------------------------------------------------- ...
- 【朝花夕拾】Android性能篇之(三)Java内存回收
在上一篇日志([朝花夕拾]Android性能篇之(二)Java内存分配)中有讲到,JVM内存由程序计数器.虚拟机栈.本地方法栈.GC堆,方法区五个部分组成.其中GC堆是一块多线程的共享区域,它存在的作 ...