mysql 复制 数据 表结构_MySQL复制表结构、表数据-Fun言

本文详细介绍了在MySQL中复制表结构和数据的各种方法,包括使用CREATE TABLE、INSERT INTO、SHOW CREATE TABLE和mysqldump等命令。无论你是想只复制表结构、复制数据,还是同时复制两者,都能找到适用的解决方案。
摘要由CSDN通过智能技术生成

1、复制表结构及数据到新表(表结构 + 数据)

CREATE TABLE 新表 SELECT * FROM 旧表;

这种方法会将old_table中所有的内容都拷贝过来,当然我们可以用delete from new_table;来删除。

不过这种方法的一个最不好的地方就是新表中没有了旧表的primary key、Extra(auto_increment)等属性,需要自己添加,而且容易搞错。

2、只复制表结构到新表(表结构)

CREATE TABLE 新表 SELECT * FROM 旧表  WHERE 1=2;// 无主键,索引等结构

CREATE TABLE 新表  LIKE  旧表;// 有主键,有索引等结构 (推荐)

3、复制旧表的数据到新表(数据,两个表结构一样)

INSERT INTO 新表 SELECT * FROM 旧表;

4、复制旧表的数据到新表(数据,两个表结构不一样)

INSERT INTO 新表(字段1,字段2,.......) SELECT 字段1,字段2,...... FROM 旧表;

5、可以将表1结构复制到表2(表结构)

SELECT * INTO 表2 FROM 表1 WHERE 1=2;

6、可以将表1内容全部复制到表2(表结构 + 数据)

SELECT * INTO 表2 FROM 表1;

7、 show create table  旧表;

这样会将旧表的创建命令列出。我们只需要将该命令拷贝出来,更改table的名字,就可以建立一个完全一样的表

8、mysqldump

用mysqldump将表dump出来,改名字后再导回去或者直接在命令行中运行

CREATE TABLE 方法

整表复制:

create table 新表 select * from 旧表;

结构复制:

1、create table 新表 select * from 旧表 where 1<>1;

2、CREATE TABLE 新表  LIKE 旧表;

INSERT INTO 方法

得到建表语句:

show create table 旧表;

复制数据到新表:

1、复制旧表的数据到新表(假设两个表结构一样)

INSERT INTO 新表  SELECT * FROM 旧表;

2、复制旧表的数据到新表(假设两个表结构不一样)

INSERT INTO 新表(字段1,字段2,…….)  SELECT 字段1,字段2,…… FROM 旧表;

CREATE TEMPORARY TABLE 创建临时表;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值