MySQL 将查询结果导出到文件(select … into Statement)

我们经常会遇到需要将SQL查询结果导出到文件,以便后续的传输或数据分析的场景。为了满足这个需求,MySQL的select语句提供了into子句可以将的查询结果直接导出到文本文件。本文就MySQL中select…into的用法进行演示。

文章目录

  • 一、select…into语句简介
    • 1.1 基本语法
  • 二、用法示例
    • 2.1 将查询结果保存到变量
    • 2.2 将查询结果保存到文本文件
    • 2.3 将查询结果保存到dumpfile

一、select…into语句简介

select…into语句不仅仅能够将查询结果导出到csv文件,实际上它有3种用法:

  • select … into @var_list from …. 将查询结果写入到一组变量
  • select … into outfile from …. 将数据写入操作系统文件,可以自定义数据格式(分隔符、包裹符、转义符、换行符等)。
  • select … into dumpfile from …. 将单一行写入文件,没有任何格式化

1.1 基本语法

根据官方文档,into子句可以出现在以下3个位置。虽然3个位置都符合语法,但select语句中至多只能有1个into语句(位置三选一):

  • 查询字段之后,from子句前
  • 锁定子句前(未来版本即将废弃)
  • 语句的最后
    在这里插入图片描述
    这里推荐将into子句放在位置3,即语句的末尾,这样相对普通的select语句更为接近,更容易理解,后面的示例也将采用这种写法。

二、用法示例

下面演示into子句三种用法。

2.1 将查询结果保存到变量

into子句的一个常用场景就是将查询结果暂时保存到变量中,以便后续查询或使用,唯二要注意的点是变量的数量要和返回列数量匹配,并且最多只能返回一行数据。

以示例数据库employees中的employees表为例,查询3个结果,分别保存到3个变量中:

select emp_no,first_name,hire_date from employees limit 1 into @emp_no, @first_name, @hire_date;
select @emp_no, @first_name, @hire_date;

在这里插入图片描述
这里用limit 1子句限制返回的结果只有1行,否则会报错。

2.2 将查询结果保存到文本文件

into outfile子句可以将查询结果导出到文本文件,虽然并不一定要是CSV格式,但大多数情况下我们都会选择这种格式。

要将MySQL中的数据写入到操作系统的文件中, 首先需要具有FILE权限。而且为了安全需要配置参数secure_file_priv,这个参数是限制MySQL可以写入文件的目录:

show variables like 'secure_file_priv';

在这里插入图片描述

我们在普通的select语句最后添加into outfile ‘/path/file_name’;即可将查询结果写入文件,这里的path就是参数secure_file_priv定义的目录(文件不能已存在):

select *from employees where emp_no<=10010 into outfile '/opt/mysql8.0.35/mysql-files/employees.txt';

在这里插入图片描述

下面是导出文件内容,其实into outfile文件还隐式在后面附件了2个子句:

fields terminated by '\t' enclosed by '' escaped by '\\'
lines terminated by '\n' starting by ''

在这里插入图片描述

  • fields 表示字段属性,terminated by ‘\t’ 以制表符分割字段,enclosed by ‘’ 不包裹字段,escaped by ‘\\’ 反斜线表示转义符(这里2个反斜线,第一个是转义符,第二个是反斜线)
  • lines 表示行属性,terminated by ‘\n’ \n代表换行符,starting by ‘’ 行的起点字符是空。

如果要导出CSV格式的文件,并且以双引号"包裹字段,那么只需要增加一个fields terminated by ‘,’ enclosed by '"'子句即可,其他的保持默认:

select *from employees where emp_no<=10010 into outfile '/opt/mysql8.0.35/mysql-files/employees.csv' fields terminated by ',' encolsed by '"';

在这里插入图片描述

可以看到这次导出结果就是以逗号分割,以双引号包裹字段的数据:
在这里插入图片描述

2.3 将查询结果保存到dumpfile

into dumpfile 子句可以将一行数据导出到文件,但是它不会做任何的分割,格式的定义,转义等操作。相对应用场景较少,这个操作通常用于将大型的BLOB字段保存到文件中,了解即可:

select *from employees limit 1 into dumpfile '/opt/mysql8.0.35/mysql-files/employees.dump';

在这里插入图片描述
注意select语句只能返回一行结果,否则会报错。

导出的结果如下,可以看到数据没有任何分隔,都连在了一起,连换行都没有(提示符和数据显示在同一行):
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3280996.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

AWS账号注册:AWS 用借记卡注册是否有风险?

亚马逊云服务&#xff08;Amazon Web Services&#xff0c;简称 AWS&#xff09;作为全球领先的云服务提供商&#xff0c;吸引了众多企业和个人用户。注册 AWS 账户时&#xff0c;提供支付方式是必要的步骤&#xff0c;许多用户会选择使用借记卡来完成注册。那么&#xff0c;使…

idea、webstorm、navicat等2024大佬总结亲测可用

宝藏网址&#xff0c;亲测可用。 关于JetBrains全家桶激活。 扫码关注&#xff1a;JAVA和人工智能。回复 idea 或 webStorm 或 navicat 获取 仅学习使用&#xff0c;不要用于商业用途&#xff01;

【剑指offer】

剑指offer 面试题67&#xff1a;字符串转成整数面试题1&#xff1a;赋值运算符函数面试题3&#xff1a;数组中重复的数字 面试题67&#xff1a;字符串转成整数 LeedCode&#xff1a;LCR 192. 把字符串转换成整数 (atoi) 测试atoi的功能和异常效果 #include <iostream> #…

二叉树的介绍及其顺序结构的实现

Hello, 亲爱的小伙伴们&#xff0c;你们的作者菌又回来了&#xff0c;之前我们学习了链表、顺序表、栈等常见的数据结构&#xff0c;今天我们将紧跟之前的脚步&#xff0c;继续学习二叉树。 好&#xff0c;咱们废话不多说&#xff0c;开始我们今天的正题。 1.树 1.1树的概念和…

vue3框架Arco Design输入邮箱选择后缀

使用&#xff1a; <a-form-item field"apply_user_email" label"邮箱&#xff1a;" ><email v-model"apply_user_email" class"inputborder topinputw"></email> </a-form-item>import email from /componen…

Java语言程序设计基础篇_编程练习题***15.35/15.34 (动画:自回避随机漫步)

***15.34 (模拟&#xff1a;自回避随机漫步) 在一个网格中的自回避漫步是指从一个点到另一点的过程中&#xff0c;不重复两次访问一个点。自回避漫步已经广泛应用在物理、化学和数学学科中。它们可以用来模拟像溶剂和聚合物这样的链状物。编写一个程序&#xff0c;显示一个从中…

Educational Codeforces Round 168 (Rated for Div. 2)

据说这场比赛非常简单&#xff0c;但本蒟蒻却认为比以往还要难(;༎ຶД༎ຶ) A.Strong Password 输入样例&#xff1a; 4 a aaa abb password输出样例&#xff1a; wa aada abcb pastsword思路&#xff1a; 我们只需在原来字符串中连续的两个字符之间插入一个不同的字符&…

React 学习——自定义Hook实现,使用规则

使用规则&#xff1a; 只能在组件中或者其他自定义Hook函数中调用只能在组件的顶层调用&#xff0c;不能嵌套在 if、for、其他函数中 import { useState } from "react"// 封装函数 function useToggle(){const [show,setShow] useState(true);const toggle ()&…

机器学习算法——常规算法,在同的业务场景也需要使用不同的算法(二)

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;开发者-曼亿点 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 曼亿点 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a…

火山引擎VeDI数据技术分享:两个步骤,为Parquet降本提效

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 作者&#xff1a;王恩策、徐庆 火山引擎 LAS 团队 火山引擎数智平台 VeDI 是火山引擎推出的新一代企业数据智能平台&#xff0c;基于字节跳动数据平台多年的“数据…

迪文屏使用记录

项目中要使用到迪文屏&#xff0c;奈何该屏资料太琐碎&#xff0c;找的人头皮发麻&#xff0c;遂进行相关整理。 屏幕&#xff1a;2.4寸电容屏 型号&#xff1a;DWG32240C024_03WTC 软件&#xff1a;DGUS_V7.647 1.竖屏横显 打开软件左下方的配置文件生成工具&#…

前端如何实现更换项目主题色的功能?

1、场景 有一个换主题色的功能&#xff0c;如下图&#xff1a; 切换颜色后&#xff0c;将对页面所有部分的色值进行重新设置&#xff0c;符合最新的主题色。 2、实现思路 因为色值比较灵活&#xff0c;可以任意选取&#xff0c;所以最好的实现方式是&#xff0c;根据设置的…

解读权限信息

1. 权限信息 在查看工作目录的内容时&#xff0c;经常看到如下格式的信息&#xff1a; 第一列&#xff1a;文件/文件夹的权限&#xff08;或者叫权限控制信息&#xff09;&#xff1b; 第二列&#xff1a;文件/文件夹的所属用户&#xff1b; 第三列&#xff1a;文件/文件夹…

苹果密码解锁工具已注册专业版_不限制电脑

Aiseesoft iPhone Unlocker&#xff1a;轻松解锁iPhone。功能强大&#xff1a;一键移除4位、6位密码、Touch ID和Face ID。隐私保护&#xff1a;创建密码&#xff0c;安全无忧。数据提醒&#xff1a;解锁时&#xff0c;注意数据和设置将被清除。Apple ID 解锁&#xff1a;快速删…

Redis 与 Scrapy:无缝集成的分布式爬虫技术

1. 分布式爬虫的概念 分布式爬虫系统通过将任务分配给多个爬虫节点&#xff0c;利用集群的计算能力来提高数据抓取的效率。这种方式不仅可以提高爬取速度&#xff0c;还可以在单个节点发生故障时&#xff0c;通过其他节点继续完成任务&#xff0c;从而提高系统的稳定性和可靠性…

信息系统的分类_20240731

1:信息系统的分类 1.1:业务处理系统(TPS) 又称为电子数据处理系统.TPS是服务于组织管理层次中最低层、最基础的信息系统 功能:数据输入、数据处理(批处里、OLTP)1.2:管理信息系统(MIS) 是由业务处理系统发展而来的,是在TPS基础上引进大量管理方法对企业整体信息进行处理 MI…

C#知识|文件与目录操作:目录的操作

哈喽,你好啊,我是雷工! 前边学习了文件的删除、复制、移动,接下来学习目录的操作。 以下为学习笔记。 01 效果演示 1.1、显示指定目录下的所有文件 在左侧的文本框中显示出F:\F004-C#目录下的所有文件, 演示效果: 1.2、显示指定目录下的所有子文件 在左侧的文本框中显…

【机器学习西瓜书学习笔记——模型评估与选择】

机器学习西瓜书学习笔记【第二章】 第二章 模型评估与选择2.1训练误差和测试误差错误率误差 欠拟合和过拟合2.2评估方法留出法交叉验证法自助法 2.3性能度量查准率、查全率与F1查准率查全率F1 P-R曲线ROC与AUCROCAUC 代价敏感错误率与代价曲线代价曲线 2.4比较检验假设检验&…

三品软件与合作伙伴提供管家式服务 推动企业研发管理创新

近日&#xff0c;三品软件携手核心合作伙伴&#xff0c;秉承着为本地客户提供全方位的管家式服务。坚持采用“管理咨询IT整体规划PLM本地交付”的服务模式&#xff0c;凭借卓越的服务质量和专业度&#xff0c;赢得了客户的高度信任和好评&#xff0c;并成功签约多个PLM项目。 …

SAP PowerDesigner@官网下载

背景 略 问题 略 解决 用户可以通过访问SAP支持网站的首页&#xff08;‌https://support.sap.com/home.html&#xff09;‌&#xff0c;‌然后导航到“Software Downloads”&#xff08;‌软件下载&#xff09;‌部分来访问SAP软件的下载入口。‌在这里&#xff0c;‌用户可…