mysql 快速备份表数据

2022/2/18 19:11:41

本文主要是介绍mysql 快速备份表数据,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.情景展示

在工作过程中,我们往往会有对表数据进行备份的需求,比如说:对表数据进行大量操作时,为了以防万一,最好是将数据进行备份,以免操作不当,导致无法恢复原有的数据。

2.解决方案

和Oracle的用法一模一样,语法如下:

CREATE TABLE AS SELECT * FROM TABLE_NAME;

3.实战演练

对表cz_jkdic进行备份。

此时,表的数据已经完成了备份,已经产生了一张新表:cz_jkdic_bak;

下面,我们一起来看一下两表的区别:

查看建表语句:SHOW CREATE TABLE TABLE_NAME。

create table列展示的就是对应表的建表语句

将cz_jkdic表和cz_jkdic_bak表的建表语句拿出来,进行对比:

我们会发现备份表发生了以下变化:

第一,主键消失(备份表没有指定哪一列是主键);

第二,索引消失(备份表已经不存在索引);

第三,自增消失(因为mysql的自增属性只能和主键绑定)。

如果原表有触发器的话,触发器应该也不会复制过来的。

由此,我们可以下这样的结论:

使用create table as select * from 表名的方式,能实现的功能:

第一,建表(表的字段列和原表一模一样)(可以理解为:没有指定主键和索引的普通建表语句);

第二,复制数据(将原表数据塞进新表当中)。

仅仅只有这两个作用,一定不要忘了。

所以说,当我们后续需要对备份表进行复用的时候,需要:

第一,重新指定表主键,如果使用自增属性的话,还需要重新定义自增的起始值,避免与原有数据造成主键冲突,导致后续数据插入失败。

第二,重新建立表索引。

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

 相关推荐:

  • 个人主页
  • oracle 快速备份表数据


这篇关于mysql 快速备份表数据的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程