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

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

 2021/3/12_第3次修改                       ccb_warlock

 

更新说明:

2021/3/12:

1.移除了无用描述;

2.修改了顺序,增加了“四、复制表字段(不包括内容、主键、索引等)”

2021/2/6:

1.修改了“复制表结构”错误的语句;

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

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

 


一、复制表结构(包括主键、索引等,不包括内容)

CREATE TABLE <新表名>
LIKE <旧表名>;

PS.曾经尝试通过一个sql语句实现表结构与内容的复制,但是发现无法实现,故最后还是选择分2步走。 

 

二、复制表内容

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

 

新、老表的表结构不一致时,需要指定具体的字段才能做insert操作。

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

 

三、复制表字段和内容(不包括主键、索引等)

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

 

四、复制表字段(不包括内容、主键、索引等)

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

 

posted @ 2019-07-16 23:39  粽先生  阅读(3560)  评论(2编辑  收藏  举报