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文件的导入了。


结语

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

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


在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据库开发工具:Navicat Premium 16 (Win/Mac)中文激活版

Navicat Premium 16 是一款强大的数据库管理工具,旨在帮助用户更轻松地管理和维护各种数据库类型。 以下是关于 Navicat Premium 16 的详细介绍: 数据库支持:Navicat Premium 16 支持多种数据库类型,包括 MySQL、PostgreSQL、SQLi…

C++核心编程之类和对象---C++面向对象的三大特性--多态

目录 一、多态 1. 多态的概念 2.多态的分类: 1. 静态多态: 2. 动态多态: 3.静态多态和动态多态的区别: 4.动态多态需要满足的条件: 4.1重写的概念: 4.2动态多态的调用: 二、多态 三、多…

Git 使用与问题记录 二(公司快速上手版)

写在前面 记录自己学习的内容,方便后面忘记的时候查看。给像我一样的新手提供一点参考 正文 上一章已经安装好了Git,如何使用呢。我这里会分享两种办法,第一种是在VS2022中克隆代码,修改和提交;第二种是用命令提交。…

Linux Centos7静默安装(非图形安装)Oracle RAC 11gR2(Oracle RAC 11.2.0.4)

Oracle RAC (全称Oracle Real Application Clusters )静默安装(非图形安装)教程。 由于这篇文章花费了我太多时间,设置了仅粉丝可见,见谅。 环境说明: 虚拟机软件:VMware Workstation 16 Pro…

Java IO流

目录 一.字符集 二.JavaIo流体系 三.如何提升读取和写入速度? 四.文件读取乱码问题 一.字符集 ASCII:一个字节存储,首尾是0 GBK: 两个字节存储,首位是1 Unicode:统一码,4个字节存储,容纳世界所有文字 UTF-8:Un…

acwing 图的深度搜索DFS

写目录 邻接表的构建邻接表DFSAcWing 846. 树的重心无向图 pat 1034 Head of a Gang有向图的深度搜索,各连通块分别搜索 邻接表的构建 邻接表DFS const int N 1e5 10, M 2*N; int h[N], e[M], ne[M]; // h[N]: 顶点Ni的第一个连接点 bool visited[M]; …

机器学习周报第27周

目录 摘要Abstract一、文献阅读 摘要 本周阅读了一篇混沌时间序列预测的论文,论文模型主要使用的是时间卷积网络(Temporal Convolutional Network,TCN)、LSTM以及GRU。在数据集方面除了使用现实的时间序列数据外,还通…

接口防刷方案

1、前言 本文为描述通过Interceptor以及Redis实现接口访问防刷Demo 2、原理 通过ip地址uri拼接用以作为访问者访问接口区分 通过在Interceptor中拦截请求,从Redis中统计用户访问接口次数从而达到接口防刷目的 如下图所示 3、案例工程 项目地址: htt…

MongoDB Compass当前版本及历史版本下载安装

mongoDB compass 当前版本下载 官网 https://www.mongodb.com/try/download/compass 官网下载一般只能下载最新版本。 github https://github.com/mongodb-js/compass MongoDB Compass与MongoDB的版本对应关系 MongoDB CompassMongoDB1.9.12MongoDB 2.6.11 Community

STM32H5 Nucleo-144 board开箱

文章目录 开发板资料下载 【目标】 点亮LD1(绿)、LD2(黄)和LD3(红)三个LED灯 【开箱过程】 博主使用的是STM32CubeMX配置生成代码,具体操作如下: 打开STM32CubeMX,File-…

快速知识付费平台搭建,一分钟搭建你的专属知识服务平台

产品服务 线上线下课程传播 线上线下活动管理 项目撮合交易 找商机找合作 一对一线下交流 企业文化宣传 企业产品销售 更多服务 实时行业资讯 动态学习交流 分销代理推广 独立知识店铺 覆盖全行业 个人IP打造 独立小程序 私域运营解决方案 公域引流 营销转化 …

vue前端开发自学,使用yarn脚手架创建vue项目

vue前端开发自学,使用yarn脚手架创建vue项目!下面展示一下,如何在本机操作,使用yarn这款脚手架,创建一个vue项目。 第一步,你需要先创建好,即将存档项目的文件夹。我的路径是在:"D:\yarn\…

C++ OJ基础

C OJ基础 在学校学习C程序设计基础课程的OJ题目 缺少第二十题 这里写目录标题 C OJ基础习题练习(一)打印图形习题练习(二)数据的输入输出习题练习(三)函数重载习题练习(四)设计矩形类习题练习(五)定义Tree类习题练习(六)完善职工工资类Salary的设计习题练习(七)设计矩形类recta…

2、BERT:自然语言处理的变革者

请参考之前写的:2、什么是BERT?-CSDN博客文章浏览阅读826次,点赞19次,收藏22次。BERT(Bidirectional Encoder Representations from Transformers)是Google在2018年提出的一种自然语言处理(NLP&…

直流电机闭环调速实验

直流电机闭环调速实验 直流电机闭环调速系统是一个典型的按偏差调节的闭环控制系统,通过系统的调节,使电机的转速与期望的给定速度一致。 本次实验我们就以AEDK-LabACT 自控/计控原理实验箱中的直流电机为对象,分析讨论直流电机闭环调速系统设…

java日志框架总结

一、日志框架简单分类介绍 java常用的日志框架、可以分为两组: 1、JCL、JUL、Log4j; 2、SLF4J、Log4j2、Logback; 其中第一组是比较早期的日志实现框架,JCL并不是具体的日志实现框架,JCL其实是定义了一…

cad的模型怎么打散导入3d---模大狮模型网

将CAD中的模型打散并导入3D建模软件,需要以下步骤: 将CAD中的模型进行分组或分层:在CAD中,将模型按照不同的组或层进行分组或分层。这样可以方便地控制每个部分的显示和隐藏,在导入3D建模软件后,也可以更方…

运维知识点-Sqlite

Sqlite 引入 依赖 引入 依赖 <dependency><groupId>org.xerial</groupId><artifactId>sqlite-jdbc</artifactId><version>3.36.0.3</version></dependency>import javafx.scene.control.Alert; import java.sql.*;public clas…

【FastAPI】请求体

在 FastAPI 中&#xff0c;请求体&#xff08;Request Body&#xff09;是通过请求发送的数据&#xff0c;通常用于传递客户端提交的信息。FastAPI 使得处理请求体变得非常容易。 请求体是客户端发送给 API 的数据。响应体是 API 发送给客户端的数据 注&#xff1a;不能使用 …

通过 C++/WinRT 使用 API

如果 API 位于 Windows 命名空间中 这是你使用 Windows 运行时 API 最常见的情况。 对于元数据中定义的 Windows 命名空间中的每个类型&#xff0c;C/WinRT 都定义了 C 友好等效项&#xff08;称为投影类型 &#xff09;。 投影类型具有与 Windows 类型相同的完全限定名称&…