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;