mysql把一个数据库中的数据复制到另一个数据库中的表 2个表结构相同

想把一个数据库中表中数据复制到另一个数据库或者同一个数据库中可以采取以下方法: 

1.表结构相同的表,且在同一数据库(如,table1,table2) 

Sql :insert into table1 select * from table2 (完全复制) 

      insert into table1 select distinct * from table2(不复制重复纪录) 

      insert into table1 select top 5 * from table2 (前五条纪录) 

2.表不在同一数据库中(如,db1 table1,db2 table2) 

sql: insert into db1.table1 select * from db2.table2 (完全复制) 

     insert into db1.table1 select distinct * from db2.table2(不复制重复纪录) 

     insert into tdb1.able1 select top 5 * from   db2.table2 (前五条纪录) 

先把表建好,在执行语句就ok啦!! 
建表也可以复制的,对于要复制的表,点击3 Info,会出来各种信息,选择DDL Information,复制下面的语句到上方Query,记得把数据库选择为目标数据库,执行语句就可以了!! 
记住db1.table1中的.不能省哈!!点输入多少都可以,但最终都是一个点哦!! 



如果两个表的结构不一样,并且想选择某些项作为插入的对象,可以参考一下语句进行改写: 
INSERT into db_ds_edu.t_exam_student(stu_id,stu_number,stu_name,school_id,campus_id,grade_id,class_id,xuebu_id) 
  SELECT stu.id 
     , stu.student_num 
    ,person.name 
     , stu.school_id 
     , stu.campus_id 
     , stu.grade_id 
     , stu.clas_id 
     , stu.xuebu_id 
FROM 
  db_ds.t_stu_info AS stu 
    ,db_ds.t_p_person_info as person 
    WHERE stu.person_id = person.id 

即选择插入到一个数据库的某个表的某些项,再从目标数据库的数据表中选择数据,对应上去就可以了

猜你喜欢

转载自it1990eye0920.iteye.com/blog/2289477