mysql复制表总结

在mysql的使用过程中有时需要对表进行不同程度的复制,下面将介绍各种情况下的表复制方法;
目录:
1、复制表结构
2、复制表结构和数据
3、复制数据
4、总结
正文:
1、复制表结构
1.1
create table new_table like old_table;
完全复制表结构,包括主键和完整性约束。
另外一个方法是使用show create table table_name\G; 然后更改表名,完全复制执行语句;
1.2
create table new_table select * from old_table where 1=2;

不完全复制表结构
mysql复制表总结_第1张图片

mysql复制表总结_第2张图片


2、复制表结构和数据
2.1完全复制 
用mysqldump将表dump出来,改名字后再导回去或者直接在命令行中运行;
2.2create table new_table select * from old_table;
不完全复制,能够复制表的结构和数据,不能复制字段的完整性约束,及primary key、default、extra属性。
example:
mysql复制表总结_第3张图片

mysql复制表总结_第4张图片

mysql复制表总结_第5张图片


3、复制数据
3.1 基于结构完全相同的两张表
     insert into new_table select * from old_table;
3.2 表结构不一样
     insert into new_table (指定的字段)select 对应的字段 from old_table;
     字段的类型要对应,否则复制数据的语法不会检查出错误,并且查询也可以执行,但是数据会有更改。如果是      从字符型复制到整数类型,则自动改为0,而整数类型复制到字符型则可以成功。
mysql复制表总结_第6张图片
4、总结:为了保证复制数据的谨慎性,推荐先使用create table new_table like old_table 复制表结构,然后用insert into new_table select * from old_table导入数据;

你可能感兴趣的:(mysql复制表总结)