复制表结构及数据

本文介绍了如何在MySQL中复制表结构和数据,包括仅复制表结构、复制表结构并数据以及如何保留主键、索引和自增属性。通过使用`CREATE TABLE AS SELECT`和`INSERT INTO SELECT`语句,以及`CREATE TABLE LIKE`配合`INSERT INTO`,可以实现对原表的完整复制。同时,提到了不同方法在处理主键、索引和自增属性时的局限性及其解决方案。
摘要由CSDN通过智能技术生成
以user表为模型创建user_bak表,并将user表的所有数据复制到user_bak里,create table user_bak as select * from user;
以user表为模型创建user_bak表,只创建表结构,不复制数据,create table user_bak as select * from user where 1<>1;

但是这两个语句都不会复制主键,索引,自增等额外信息,比如原表里的主键id,自增,复制后变成无自增,无主键,默认值为0:
show create table user的结果如下:
| user  | CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(30) NOT NULL,
  `age` tinyint(3) unsigned NOT NULL COMMENT '年龄',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 |

show create table user_bak的结果如下:
| user_bak | CREATE TABL
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值