表复制
#复制表结构及数据到新表(不包含主键、索引、分区等)
create table A_1 select * from A
#只复制表结构到新表1
create table A_1 select * from A where 1=2;
#只复制表结构到新表2
create table A_1 like A;
#这种方式的复制可以复制旧表的主键、索引、Extra(auto_increment,字符集编码及排序)、注释、分区等属性。但是不包含触发器、外键等
#复制表数据到新表(A_1必须存在)
insert into A_1 select * from A;#全部字段
insert into A_1 (col1,col2,...) select col1,col2,... from A;#指定字段
#完整复制
show create table A;#将旧表的创建命令列出
#我们只需要将该命令拷贝出来,更改table的名字,就可以建立一个完全一样的表
字段复制
1 不同表复制
update B set extra = A.extra from A join B on (A.id = B.id);
update B inner join A on A.id = B.id set B.content = A.content[,A.extra = B.extra];
update B set B.sms = (select A.sms from A where A.id = B.id)
2 同表复制
update B set col1 = col2;