MySQL系列之数据导入导出

前言

大数据与云计算作为当今时代,数据要素发展的“动力引擎”,已经走进了社会生活的方方方面。而背后承载的云服务或数据服务的高效运转,起了决定作用。

作为数据存储的重要工具,数据库的品类和特性也日新月异。从树型、网络型到关系型,从集中式到分布式,均可胜任不同的业务场景和数据存储要求。

在这个云时代(Cloud Age),作为“轻、快、高”的代表,MySQL作为RDB的优等生,备受各行各业的青睐。从今天开始,博主也谈一谈MySQL的相关话题。

在这里插入图片描述

那么,首先聊聊什么呢? 博主先从一个文件讲起。

当你遇到数据库迁移时,最可能遇到哪些困难?(温馨提示:文末有投票环节,欢迎有兴趣的同学参与)。

比如文件太大,导入太慢了;
比如编码不一致,导入导出乱码了;
比如数据跨区,导入重复了;
比如…等等,不胜枚举。

而今天,我们先看看文件太大怎么办,博主可为大家支一招,希望有所帮助。


Q:如何导入导出

数据的导入导出是我们日常工作的常见操作,那么我们又该掌握其中的必杀技呢?

一、mysqldump和source

当我们在做数据的导入导出时,可能会想到一组常用的命令:

操作工具操作简介
mysqldump负责将数据从数据库导出或导入,支持对SQL文件的处理
source负责将数据导入数据库,支持对SQL文件的处理
1. mysqldump

mysqldump是MySQL自带的逻辑备份工具,可供选择的操作有:

1.mysqldump [选项] 数据库名 [表名] > 导出文件名
2.mysqldump [选项] --数据库名 [选项 表名] > 导出文件名
3.mysqldump [选项] --all-databases [选项] > 导出文件名

2. source

mysql source命令主要用来导入较大的文件。
执行命令形如:

连接 MySQL Server
>source  /usr/local/test.sql

二、select …into outfile和load data infile

一般我们通过以上一组操作,可满足日常的数据导入导出的需要。不过还有一种选择,可支持大文件的导入导出,当然该方式一般针对excel/csv/txt处理(是不是太常见了?)。

1. select …into outfile
SELECT ... INTO OUTFILE '文件路径' //导出文件的绝对路径
[CHARACTER SET 字符集] //指定文件编码
[FIELDS [TERMINATED BY '分隔符'][ENCLOSED BY '括号字符'][ESCAPED BY '转义字符']
]
[LINES [STARTING BY '行首字符'][TERMINATED BY '行尾字符']
]

使用时,需开通mysql的文件处理权限,一般使用secure_file_priv指定的目录,可通过以下命令查看:

show variables like '%secure_file_priv%';
2. load data infile

导出后,即可进行导入了,此刻,load data infile派上用场了。

LOAD DATA[LOW_PRIORITY | CONCURRENT] [LOCAL] //一般选择local,意味着从本地导入INFILE '文件路径' //绝对路径[REPLACE | IGNORE]INTO TABLE tbl_name //导入的表名[PARTITION (partition_name [, partition_name] ...)][CHARACTER SET charset_name] //编码[{FIELDS | COLUMNS}[TERMINATED BY 'string']  //字段分隔符[[OPTIONALLY] ENCLOSED BY 'char'][ESCAPED BY 'char']][LINES[STARTING BY 'string'][TERMINATED BY 'string']][IGNORE number {LINES | ROWS}][(col_name_or_user_var[, col_name_or_user_var] ...)][SET col_name={expr | DEFAULT}[, col_name={expr | DEFAULT}] ...]

通过以上命令,我们可以实现非SQL文件的导入了。


结语

数据库的导入导出是必修课,作为经常用来实现数据备份和恢复的工具,以上两组命令各有特色,且支持不同类型的文件操作,所以各位盆友可按需选择。

好了,今日话题到此为止,下一篇是啥,继续期待!


在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL/Oracle 的 字符串拼接

目录 MySQL、Oracle 的 字符串拼接1、MySQL 的字符串拼接1.1 CONCAT(str1,str2,...) : 可以拼接多个字符串1.2 CONCAT_WS(separator,str1,str2,...) : 指定分隔符拼接多个字符串1.3 GROUP_CONCAT(expr) : 聚合函数,用于将多行的值连接成一个字符串。 2、Oracle 的字…

C#灵活控制多线程的状态(开始暂停继续取消)

ManualResetEvent类 ManualResetEvent是一个同步基元,用于在多线程环境中协调线程的执行。它提供了两种状态:终止状态和非终止状态。 在终止状态下,ManualResetEvent允许线程继续执行。而在非终止状态下,ManualResetEvent会阻塞线…

Python画球面投影图

天文学研究中,有时候需要画的并不是传统的XYZ坐标系,而是需要画一个形如这样子的球面投影图: 下面讲一下这种图怎么画 1. 首先要安装healpy包 pip install healpy 2. 然后导入包 如果之前安装过healpy,有的会提示不存在healpy…

【蓝桥杯日记】第一篇——如何搭建系统环境

目录 前言 环境相关文件 学生机环境-Web应用开发环境(第十五届大赛) 学生机环境-Java编程环境(第十五届大赛) 学生机环境-C/C编程环境(第十五届大赛) 学生机环境-Python编程环境 (第十五届…

20240112让移远mini-PCIE接口的4G模块EC20在Firefly的AIO-3399J开发板的Android11下跑通【DTS部分】

20240112让移远mini-PCIE接口的4G模块EC20在Firefly的AIO-3399J开发板的Android11下跑通【DTS部分】 2024/1/12 16:20 https://blog.csdn.net/u010164190/article/details/79096345 [Android6.0][RK3399] PCIe 接口 4G模块 EC20 调试记录 https://blog.csdn.net/hnjztyx/artic…

【Linux】线程池实现

📗线程池实现(单例模式) 1️⃣线程池概念2️⃣线程池代码样例3️⃣部分问题与细节🔸类成员函数参数列表中隐含的this指针🔸单例模式🔸一个失误导致的bug 4️⃣调用线程池完成任务 1️⃣线程池概念 线程池是…

【Linux驱动】设备树中指定中断 | 驱动中获得中断 | 按键中断实验

🐱作者:一只大喵咪1201 🐱专栏:《Linux驱动》 🔥格言:你只管努力,剩下的交给时间! 目录 🏀在设备树中指定中断🏀代码中获得中断🏀按键中断⚽驱动…

闪存剩下内容

1:通过Arduino IDE向闪存文件系统上传文件 1. 下载 Arduino-ESP8266闪存文件插件程序 2:使用闪存文件系统建立功能更加丰富的网络服务器 1:在网页中加载闪存文件系统中的图片、CSS和JavaScript index.html:ESP8266开发板建立的网…

SpringBoot+SSM项目实战 苍穹外卖(12) Apache POI

继续上一节的内容,本节是苍穹外卖后端开发的最后一节,本节学习Apache POI,完成工作台、数据导出功能。 目录 工作台Apache POI入门案例 导出运营数据Excel报表 工作台 工作台是系统运营的数据看板,并提供快捷操作入口&#xff0c…

初识OpenCV

首先你得保证你的虚拟机Ubuntu能上网 可看 http://t.csdnimg.cn/bZs6c 打开终端输入 sudo apt-get install libopencv-dev 回车 输入密码 回车 遇到Y/N 回车 OpenCV在线文档 opencv 文档链接 点zip可以下载,点前面的直接在线浏览,但是很慢 https…

单元测试:Testing leads to failure, and failure leads to understanding

单元测试的概念可能多数读者都有接触过。作为开发人员,我们编写一个个测试用例,测试框架发现这些测试用例,将它们组装成测试 suite 并运行,收集测试报告,并且提供测试基础设施(断言、mock、setup 和 teardo…

JAVAEE初阶 文件IO(一)

这里写目录标题 一. 计算机中存储数据的设备1.1 CPU1.2 内存1.3 硬盘1.4 三种存储的区别 二.文件系统2.1 相对路径2.2 绝对路径2.3 .和..的含义2.4 例子2.5 everything工具 三.文件3.1 文本文件3.2 二进制文件 四. JAVA对于文件的API4.1 getParent getName getPath getAbsolute…

Jest单元测试:玩转代码的小捉迷藏!

Jest Jest 是什么? Jest 是一个流行的 JavaScript 测试框架,专注于简化和改进代码的测试流程。它由 Facebook 开发并维护,具有以下特点: 1、易用性:Jest 提供了一个简单而强大的测试框架,使得编写和运行测…

uniapp h5 发行后 微信第二次打开网址 页面白屏

发行后把网址给客户,第一次可以正常登录打开,第二次打开白屏 原因:第一次打开时没有token,所以跳转登录页,可以正常访问 第二次打开时有token,但是网址根目录没有配置默认页面,所以白屏 解决…

Windows Server调整策略实现999999个远程用户用时登录

正文共:1234 字 23 图,预估阅读时间:2 分钟 上篇文章中(Windows Server 2019配置多用户远程桌面登录服务器),我们主要介绍了Windows Server 2019在配置远程桌面时,如何通过3种方式创建本地用户账…

使用Qt连接scrcpy-server控制手机

Qt连接scrcpy-server 测试环境如何启动scrcpy-server1. 连接设备2. 推送scrcpy-server到手机上3. 建立Adb隧道连接4. 启动服务5. 关闭服务 使用QTcpServer与scrcpy-server建立连接建立连接并视频推流完整流程1. 开启视频推流过程2. 关闭视频推流过程 视频流的解码1. 数据包协议…

NVMe系统内存结构 - Meta Data

NVMe系统内存结构 - Meta Data 1 为什么需要数据保护2 Meta Data定义3 Meta Data传输方式4 常见Meta Data使用场景4.1 不带数据保护信息4.2 带数据保护信息“数据写”流程4.3 带数据保护信息“数据读”流程4.4 SSD内部加入数据保护信息4.5 SSD内部根据数据保护信息验证数据 本文…

如何在你的网站接入QQ登录?

文章目录 准备阶段申请QQ登录的权限创建应用最后上传qqlogin.php代码 准备阶段 国内服务器和备案域名需要你有张独一无二本人的身份证你正面手持身份证的图片一张100px*100px的网站图标 申请QQ登录的权限 首先访问qq互联,点击我直接访问 登陆完成后我们点击面的…

bash shell基础命令(一)

1.shell启动 shell提供了对Linux系统的交互式访问,通常在用户登录终端时启动。系统启动的shell程序取决于用户账户的配置。 /etc/passwd/文件包含了所有用户的基本信息配置, $ cat /etc/passwd root:x:0:0:root:/root:/bin/bash ...例如上述root账户信…

Python新年文字烟花简单代码

简单的Python新年烟花代码示例: import random import timedef create_firework():colors [红色, 橙色, 黄色, 绿色, 蓝色, 紫色]flashes [爆裂, 闪光, 旋转, 流星, 喷射]color random.choice(colors)flash random.choice(flashes)print(f"发射一枚{color…