mysql 根据sql查询语句导出数据
在这里提供2中方式:
建议:可以使用方式二,就不使用方式一。
方式一:
在linux下支持,window下不支持。
进入到mysql的bin目录,或者已经给mysql配置了环境变量就不用进入bin目录。
原理:
通过mysql工具的-e参数,可以执行select、update、delete、insert语句。
通过mysql -u用户名 –p密码 数据库 –esql语句 > 文件路径/文件名
利用linux的>写入操作,将mysql通过-e参数执行的语句结果输出到文件中去。
通过mysql 导出方式:
./mysql -uliuxioali -p1452liu www -e " SELECT
a.phone
FROM
user_info a
LIMIT 10" > phone.txt
讲解:
./mysql -uliuxioali -p1452liu www -e " SELECT
a.phone
FROM
user_info a
LIMIT 10"
执行查询,正常情况会将结果输出到控制台。
> phone.txt
获取上一句的结果输出到phone.txt文件中
方式二:
需要设置mysql只读参数:
默认值为:
secure_file_priv=NULL
必须在my.ini(window默认路径:C:\Windows)或my.cnf(linux默认路径/etc/my.cnf) 中设置
secure_file_priv=’’或secure_file_priv=’/tmp’
secure_file_priv=’’ 可以任意指定文件输出路径
secure_file_priv=’/tmp’ 生成文件都输出到了/tmp文件路径下
并且重启mysql服务,如果是在生产环境必须晚上配置重启服务。
在mysql内部执行。
原理:
就是mysql提供的导出数据的一种语法。
语法:
SELECT ... FROM TABLE_A INTO OUTFILE "/path/to/file.csv" FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n';
语法解析:FIELDS TERMINATED BY ',' 指定字段之间的分割符
OPTIONALLY ENCLOSED BY '"' 指定每个字段值得前后符号 结果为 "12"
LINES TERMINATED BY '\n' 指定换行符,因为window和linux换行符不一样。Window是\r\n linux是\n
例句:
SELECT phone FROM user_info WHERE phone is NOT NULL LIMIT 10 INTO OUTFILE 'F:\\txt.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' ;
输出结果如下:
"13519000118"
"13519000122"
"13519000151"
"13519000187"
"13519000216"
"13519000248"
"13519000303"
"13519000364"
"13519000401"
"13519000492"
mysql 根据sql查询语句导出数据的更多相关文章
- 深入MySQL(四):MySQL的SQL查询语句性能优化概述
关于SQL查询语句的优化,有一些一般的优化步骤,本节就介绍一下通用的优化步骤. 一条查询语句是如何执行的 首先,我们如果要明白一条查询语句所运行的过程,这样我们才能针对过程去进行优化. 参考我之前画的 ...
- 转: 从Mysql某一表中随机读取n条数据的SQL查询语句
若要在i ≤ R ≤ j 这个范围得到一个随机整数R ,需要用到表达式 FLOOR(i + RAND() * (j – i + 1)).例如, 若要在7 到 12 的范围(包括7和12)内得到一个随机 ...
- {MySQL的逻辑查询语句的执行顺序}一 SELECT语句关键字的定义顺序 二 SELECT语句关键字的执行顺序 三 准备表和数据 四 准备SQL逻辑查询测试语句 五 执行顺序分析
MySQL的逻辑查询语句的执行顺序 阅读目录 一 SELECT语句关键字的定义顺序 二 SELECT语句关键字的执行顺序 三 准备表和数据 四 准备SQL逻辑查询测试语句 五 执行顺序分析 一 SEL ...
- 从Mysql某一表中随机读取n条数据的SQL查询语句
若要在i ≤ R ≤ j 这个范围得到一个随机整数R ,需要用到表达式 FLOOR(i + RAND() * (j – i + 1)).例如, 若要在7 到 12 的范围(包括7和12)内得到一个随机 ...
- MySQL 笔记整理(2) --日志系统,一条SQL查询语句如何执行
笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> 2) --日志系统,一条SQL查询语句如何执行 MySQL可以恢复到半个月内任意一秒的状态,它的实现和日志系统有关.上一篇中记录了一 ...
- MySQL 笔记整理(1) --基础架构,一条SQL查询语句如何执行
最近在学习林晓斌(丁奇)老师的<MySQL实战45讲>,受益匪浅,做一些笔记整理一下,帮助学习.如果有小伙伴感兴趣的话推荐原版课程,很不错. 1) --基础架构,一条SQL查询语句如何执行 ...
- mysql 客户端命令行下 直接查询并导出数据
mysql原来还能这么导出数据,涨知识了. 方式1: select ....(sql语句) INTO OUTFILE '/var/lib/mysql/msg_data.csv ' (导出的文件位置 ...
- MySQL数据库详解(一)执行SQL查询语句时,其底层到底经历了什么?
一条SQL查询语句是如何执行的? 前言 大家好,我是WZY,今天我们学习下MySQL的基础框架,看一件事千万不要直接陷入细节里,你应该先鸟瞰其全貌,这样能够帮助你从高维度理解问题.同样,对于MyS ...
- mysql数据库系统学习(一)---一条SQL查询语句是如何执行的?
本文基于----MySQL实战45讲(极客时间----林晓斌 )整理----->https://time.geekbang.org/column/article/68319 一.第一节:一条sq ...
随机推荐
- PSSM特征-从生成到处理
以下代码均为个人原创,如有疑问,欢迎交流.新浪微博:拾毅者 本节内容: pssm生成 pssm简化 标准的pssm构建 滑动pssm生成 在基于蛋白质序列的相关预測中.使用PSSM打分矩阵会得将预測效 ...
- json字符串传值到后台出现乱码的问题的解决方法
1.原因:前台的编码是ISO-8859-1,后台的编码是UTF-8,所以会冲突 2.解决方法:先用ISO-8859-1解码成字节数组,再转成UTF-8编码格式 String strw = new St ...
- PHP中Soap模块安装与使用例子
PHP5中的这个SOAP扩展目的是为了实现PHP对Web services的支持.与其它实现PHP对Web services的支持的方法不同,SOAP扩展是用C写的,因此它比其它方法具有速度优势 SO ...
- 腾讯课堂十大Excel函数
十大函数:if,sumifs,countifs,vlookup,match,index,indirect,subtotal,left(mid,right),offset substotal:用于灵活计 ...
- 配置Nginx防止直接用IP訪问Webserver
看了非常多Nginx的配置,好像都忽略了ip直接訪问Web的问题.这样理论上不利于SEO优化,所以我们希望能够避免直接用IP訪问站点.而是域名訪问.详细怎么做呢.看以下. 官方文档中提供的方法: If ...
- sublime无法使用package Control解决办法。
http://blog.csdn.net/freshlover/article/details/44261229
- SecureCRT 设置字体跟颜色
SecureCRT 绝佳配色方案, 保护你的眼睛 分类: Linux 软件使用2013-05-17 08:45 24038人阅读 评论(11) 收藏 举报 SecureCRT 绝佳配色方案, 保护你的 ...
- android EditText控制最大输入行数
网络摘抄,仅作记录学习 EditText在android开发中是一个经常用到的基础控件,功能也很强大,限制输入字符类型,字数什么的.但是最近在工作中遇到了需要控制editText最大可输入行数的要求. ...
- mysql使用存储过程制造测试数据
DELIMITER $$ DROP PROCEDURE IF EXISTS message_insert_procedure; CREATE PROCEDURE `test`.`message_ins ...
- Linux删除乱码文件的方法
当文件名为乱码的时候,无法通过键盘输入文件名,所以在终端下就不能直接利用rm,mv等命令管理文件了. 我们可以通过以下几种方法删除linux下的乱码文件.(文件名为乱码) l 方法1 我们知道每个文 ...