mysql 复制表结构(包括索引等)表内容

Posted straycats

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 复制表结构(包括索引等)表内容相关的知识,希望对你有一定的参考价值。

===============================================

 2019/7/16_第1次修改                       ccb_warlock

 

===============================================

 mysql库中有一张表查询要较大,最后采取的方案是清理数据只保留近期。但是有需要保留原表所有数据的备份,由此才尝试了复制表结构、表内容的sql脚本。

 


 

 一、复制表结构(包括索引等)

CREATE TABLE <新表名>  
SELECT * FROM <老表名>;

 

 二、复制表内容

INSERT INTO <新表名>
SELECT * FROM <老表名>;

 

如果新、老表的表结构不一致时,需要指定具体的字段信息才能做insert操作,可以使用下面的sql语句。

INSERT INTO <新表名>(字段1,
                    字段2,
                    …)
SELECT 字段1, 字段2, …
from <旧表名>

 

PS.曾经尝试通过一个sql语句实现这2个功能,但是试验后发现一个语句始终无法解决索引、外键等无法复制的问题,故最后还是选择分2步走。

 

 

 

以上是关于mysql 复制表结构(包括索引等)表内容的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 复制表

雷林鹏分享:MySQL 复制表

MySQL 复制表:如何准确无误的创建复制表?

Mysql 复制表格结构

吴裕雄 26-MySQL 复制表

22复制表