实验环境:

  • MySQL 5.7.25
  • Redhat 6.10

前面我们建立了数据库并建立相关的对象

  • 数据库
  • 存储过程
  • 函数
  • 触发器
  • 事件

今天的内容为按条件备份表数据

1. 备份语句

我们来备份test数据库中的innodb_table表和isam_table表中id为10的数据

从这起开始在备份语句中加入--single-transaction 参数

该参数在innodb中可以不对表施加写入锁进行导出,MyISAM引擎还是锁表的

mysqldump -h127.0.0.1 -usystem -p123456  --single-transaction --set-gtid-purged=OFF  --databases test --tables innodb_table  isam_table --where='id=10'  > /tmp/table_id.sql

注意这里 innodb_table 拥有id为10的数据 而 isam_table则没有

2. 内容解析

2.1 版本信息

首先依然是mysqldump的版本信息 主机名信息

已经一些变量的设置

再次提醒 /!123456/ 不是注释

详情看上一节介绍

2.2 表的结构

接下来是表的信息

首先是如果表存在则删除表(DROP TABLE IF EXISTS)

之后建立表(CREATE TABLE)

2.3 表数据的备份

接下来是表数据的备份(Dumping data for table)

这里有提示只备份id=10的数据

首先锁定表不让其他进程写(LOCK TABLE WRITE)

然后使MySQL停止更新非唯一索引(ALTER TABLE DISABLE KEYS),这样能加快插入速度

之后将数据转换成insert语句(INSERT INTO)

之后重新建立丢失的索引(ALTER TABLE ENABLE KEYS)

最后释放锁(UNLOCK TABLES)

2.4 备份没有符合条件的表

可以看出虽然isam_table表没有符合条件的数据

但是还是会导出表结构 只是没有数据的导入

2.5 触发器的导出

可以看到isam_table表的触发器会一并导出

3. 总结

可以看出单独导出表的某行有如下内容

  • 删除表(如果存在)
  • 建表
  • 锁表
  • 禁用非唯一索引
  • 插入数据
  • 启用非唯一索引(重建索引)
  • 释放锁
  • 触发器(如果有)

不同于全库备份没有如下内容

  • 建立数据库(如果不存在)
  • 使用数据库

同时如果表中没有符合条件的行,表结构也是会导出的

同样不会导出存储过程和函数

今天的内容就到这里,欢迎查看

5. mysqldump命令详解 Part 5-按条件备份表数据​www.zhaibibei.cn

plsql导出表结构_mysqldump命令详解 Part 5-按条件备份表数据相关推荐

  1. MYSQL数据备份之mysqldump命令详解(附脚本定时备份)

    一.常见备份命令介绍 备份命令 备份速度 恢复速度 介绍 功能 一般用于 cp 快 快 物理备份.灵活性低 很弱 少量数据备份 mysqldump 慢 慢 逻辑备份.适用所有存储引擎 一般 中小型数据 ...

  2. zookeeper结构和命令详解

    1.1. zookeeper特性 1.Zookeeper:一个leader,多个follower组成的集群 2.全局数据一致:每个server保存一份相同的数据副本,client无论连接到哪个serv ...

  3. oracle定时备份详解,oracle导入导出命令详解(附数据库每天定时备份脚本)

    一. 导出工具 exp 1. 它是操作系统下一个可执行的文件 存放目录/ORACLE_HOME/bin exp导出工具将数据库中数据备份压缩成一个二进制系统文件.可以在不同OS间迁移 它有三种模式: ...

  4. 【原创】SqlServer 2005 BCP命令详解

    一.命令详解 1. 将远程数据库数据导出到本地文件 EXEC master..xp_cmdshell 'bcp "sql查询语句" queryout 本地文件路径 -t" ...

  5. 04-mysql数据备份之mysqldump命令详解

    MYSQL数据备份之mysqldump命令详解 一.mysqldump 简介 mysqldump 是 MySQL 自带的逻辑备份工具. 它的备份原理是通过协议连接到 MySQL 数据库,将需要备份的数 ...

  6. 常用memcached命令详解

    常用memcached命令详解: Memcached作为缓存服务器,对其操作的命令主要分为三类: 1.  服务器状态命令:可以查看memcahced服务的当前状态 2.  数据存储命令:如何存储数据到 ...

  7. Linux中iptraf命令详解(IP局域网监控工具)

    2019独角兽企业重金招聘Python工程师标准>>> Linux中iptraf命令详解(IP局域网监控工具) 发布时间:2017-12-27 20:46:03   作者:佚名    ...

  8. JAVAC 命令详解 -d表示目录

    JAVAC 命令详解 结构 javac [ options ] [ sourcefiles ] [ @files ] 参数可按任意次序排列. options 命令行选项. sourcefiles 一个 ...

  9. linux ps(process status) 命令详解

    linux ps(process status) 命令详解 功能说明:报告程序状况. 语 法:ps [-aAcdefHjlmNVwy][acefghLnrsSTuvxX][-C <指令名称> ...

最新文章

  1. Linux命令学习手册-arp命令
  2. 零基础学python语言_零基础如何入门Python语言?有哪些学习建议?
  3. doesnt exist table_MYSQL ERROR 1146 Table doesnt exist 解析
  4. c++反汇编与逆向分析
  5. Word:段前空行不显示问题解决办法
  6. 二叉搜索树中第k大元素_二叉搜索树中第K个最小元素
  7. Tez 0.9安装部署+hive on tez配置 + Tez-UI
  8. AIS 2021顶级论文报告会论文征集与听众报名通知
  9. 论文赏析【EMNLP19】多粒度自注意力机制(MG-SA)
  10. Sqlserver2008数据库可疑文件
  11. 编写matlab程序设计状态反馈增益阵,利用MATLAB设计状态观测器.pdf
  12. 【代码之路】我和代码的这两年,一路风雨,终见彩虹
  13. word java api_Java中的Word文档创建API
  14. 计算机电路节点,电路分析基础之节点分压原理
  15. Ubuntu更换系统字体
  16. 对Excel进行瘦身的两个方法
  17. 消防设施操作员考试真题、模拟练习题库(7)
  18. Qt应用程序开发九:上传文件
  19. 浅析“同比”与“环比”
  20. 计算机组成原理 总线与微命令实验

热门文章

  1. html图片加滚动文字,滚动文字、图片等html代码
  2. 怎么在html使用百度商桥,电脑版网站如何添加爱番番(原:百度商桥)
  3. mysql完整性约束命名_第5章--MySQL索引与完整性约束.ppt
  4. mysql单实例多数据库_MySQL单台服务器跑多个实例子详解
  5. javascript 事件冒泡处理方式
  6. 分类数据显示功能_缓存优化
  7. django分页的东西, 不详细, 但是也足够了。
  8. 2011 ACM 0和1思想
  9. python 归纳 (二二)_多进程数据共享和同步_管道Pipe
  10. java白皮书关键术语