mysql-复制表

1、复制表结构及数据到新表

CREATE TABLE 新表 SELECT * FROM 旧表
这种方法会将oldtable中所有的内容都拷贝过来

例:createtable studentcopy select * from student

缺点:新表中没有了旧表的primary keyExtraauto_increment)等属性。需要自己用alter添加,而且容易搞错。 
2
、只复制表结构到新表 

CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span>
CREATE TABLE 新表 LIKE 旧表  
3 、复制旧表的数据到新表 ( 假设两个表结构一样
INSERT INTO 新表 SELECT * FROM 旧表
例: create table student copy1 like student

create table student copy2 select * from student where 1=2
4 、复制旧表的数据到新表 ( 假设两个表结构不一样
INSERT INTO 新表(字段1,字段2,.......)SELECT 字段1,字段2,...... FROM 旧表<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span>
5 、可以将表 1 结构复制到表
SELECT * INTO 表2 FROM 表1 WHERE 1=2<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span>
6 、可以将表 1 内容全部复制到表
SELECT * INTO 表2 FROM 表1
7 show create table 旧表
这样会将旧表的创建命令列出。 我们只需要将该命令拷贝出来,更改 table 的名字,就可以建立一个完全一样的表  
8
mysqldump 
mysqldump 将表 dump 出来,改名字后再导回去或者直接在命令行中运行

 


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