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 ...
随机推荐
- tornado 初学
tornado第一个例子 import tornado.ioloopimport tornado.web class MainHandler(tornado.web.RequestHandler): ...
- 交换两个变量的值不使用第三个变量(Java)
关于这个问题网上有好多答案,最近有人说这是个奇葩问题 个人测试了一把,如果是普通的数字的话,基本上没有问题 public static void main(String[] args) { int a ...
- ubuntu安装分区
♠ 文件系统 windows下常见的文件系统有FAT, FAT32, NTFS 在linux里可使用的文件系统: Ext2: 早期的格式,不支持日志. Ext3: 是ext2改良版,增加了日志功能, ...
- MapReduce源码分析之JobSplitWriter
JobSplitWriter被作业客户端用于写分片相关文件,包括分片数据文件job.split和分片元数据信息文件job.splitmetainfo.它有两个静态成员变量,如下: // 分片版本,当前 ...
- homebrew可以管理众多开源软件的安装和卸载
通过homebrew可以管理众多开源软件的安装和卸载. 参考https://github.com/mxcl/homebrew/wiki 1. 安装: ruby -e "$(curl -fsS ...
- MIC中示例程序计算π
mic中编程十分简单,只需在普通程序中简单加几句就可以,使用 lspci|grep -i -co-processor 命令可以查看机器中是否插入MIC卡以及MIC卡的数目,MIC编程环境的配置这里就不 ...
- laravel学习之路3 数据库相关
读写分离之多个读? 有 'host' => $readHosts[array_rand($readHosts)], 上面的好像有缓存问题php artisan config:cache ] ); ...
- 【Unity 3D】学习笔记四十二:粒子特效
粒子特效 粒子特效的原理是将若干粒子无规则的组合在一起.来模拟火焰,爆炸.水滴,雾气等效果. 要使用粒子特效首先要创建,在hierarchy视图中点击create--particle system就可 ...
- 移动Web开发技巧汇总(转)
META相关 1. 添加到主屏后的标题(IOS) <meta name="apple-mobile-web-app-title" content="标题" ...
- ASP.NET动态网站制作(23)-- ADO.NET(2)
前言:这节课老师请高级班的E老师过来代课,还是接着老师讲的内容继续深入,修改了上节课老师写的部分代码. 内容: 1.数据库本质就是一个软件,这个软件帮助我们把数据有序地存储起来,当我们需要数据的时候帮 ...