===============================================
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 步走.
来源: http://www.bubuko.com/infodetail-3125677.html