mysql不同数据之间的复制

一、表的复制

(1)同个数据库

a.复制表结构及数据到新表

CREATE TABLE Persons _copy SELECT * FROM Persons //用于复制前未创建新表 Persons _copy的情况下

INSERT INTO Persons _copy SELECT * FROM Persons ;//已经创建了新表 Persons _copy的情况

b.只复制表结构

CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2  //即:让WHERE条件不成立,也可改成5=6等

c.复制旧表的数据到新表(假设两个表结构一样)

INSERT INTO 新表  SELECT * FROM 旧表

d.复制旧表的数据到新表(假设两个表结构一样)

INSERT INTO 新表(字段1,字段2,…….)  SELECT 字段1,字段2,…… FROM 旧表

(2)不同数据库

比较复杂,可参考:http://blog.csdn.net/liman65727/article/details/71430484

(3)使用mysql管理软件navicat——同个/不同数据库

二、列的复制

1、表已存在

(1)同一个表,将一列复制到另一列——同个数据库

update table1 set field1 = field2;  

其中 field1,field2为列名。

(2)不同表,将一列复制到另一个列——不同数据库

update table1,table2 set table1.field1=table2.field2 where table1.id=table2.id

注:如果没有table1.id=table2.id,则只会复制最后一行。

(3)使用mysql管理软件navicat——同个/不同数据库

 该管理软件图形界面可视化,只要选中当前列,右键复制——粘贴,即可。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容