备份mysql中的表_数据库备份表

虽然对于一个有点数据库知识的小猿来说,数据库备份表那就是常识中的常识了,但是对于我这个菜鸟来说,今天遇到了确实还真不知道如何操作,下面就记录下自己通过网上搜索和请教同事后的笔记

1.CREATE TABLE tab_new [AS] SELECT * FROM tab_old【这个方法不会复制表的primary key和auto_increment,实际上我们可以看出这个方法是将查询的结果复制到新的表中,所以复制之后需要自己进行重新加入主键,index等】

主要包含如下:

1.既复制表结构也复制表内容:CREATE TABLE tab_new AS SELECT * FROM tab_old;

show create table hehe

result:

CREATE TABLE `hehe` (

`id` tinyint(4) NOT NULL,

`name` varchar(20) DEFAULT NULL,

`age`int(3) unsigned zerofill DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=gbk

#表结构和表的内容都复制了,不复制primary key

create table ying as select * fromheheselect * fromying

show create table ying

#表的内容+----+-------+------+

| id | name | age |

+----+-------+------+

| 1 | xiong | 001 |

| 2 | ying | 002 |

| 3 | cai | 003 |

+----+-------+------+#表的结构,但是并没有赋值到primary key

CREATE TABLE `ying` (

`id` tinyint(4) NOT NULL,

`name` varchar(20) DEFAULT NULL,

`age`int(3) unsigned zerofill DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=gbk |

2.只复制表结构不复制表内容:CREATE TABLE tab_new AS SELECT * FORM tab_old WHERE 1=2;

#复制了表结构,但是没有赋值表内容,不复制primary key

create table cai as select * from hehe where 1=2

select * fromcai

show create table cai

#没有赋值表内容

Emptyset (0.02sec)

#复制表结构

CREATE TABLE `cai` (

`id` tinyint(4) NOT NULL,

`name` varchar(20) DEFAULT NULL,

`age`int(3) unsigned zerofill DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=gbk |

3.创建表的同时定义表中的字段信息

create table testnew

(id tinyint auto_increment primary key)as(select * from testold)

2.CREATE TABLE tab_new LIKE tab_old【这个方法不会复制表数据,但是可以复制表的primary key和auto_increment,实际上这才是真正的复制表】

1.复制表结构但不复制表内容:CREATE TABLE tab_new LIKE tab_old

#复制表结构,不复制内容,且复制primary key

create table xiong like heheselect * fromxiong

show create table xiong

#不复制内容

Emptyset (0.00sec)

#复制表结构,且复制primary key|CREATE TABLE `xiong` (

`id` tinyint(4) NOT NULL,

`name` varchar(20) DEFAULT NULL,

`age`int(3) unsigned zerofill DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=gbk |

3.还有其他的表备份方式,但是这个方法不适用于MySQL,执行该命令时会提示新表不存在

1.insert into tab_new select * from tab_old;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值