将数据从一个表复制到另一个表。数据库不同,表结构也不同

时间:2011-08-13 14:23:11

标签: mysql database copy

我正在为我的MySQL数据复制相关问题寻找解决方案。 我在包含一些数据的数据库DB1中有一个表TAB1。现在我想将其中一些数据行迁移到另一个表TAB2到另一个数据库DB2。

为MySQL服务器编写这样一个SQL脚本的理想方法是什么。我无法编写java / php程序等因为我无法访问代码库。

任何示例链接都会有所帮助。我知道这可以通过DBLink在Oracle中完成,但是如何在MySQL中完成。

由于

4 个答案:

答案 0 :(得分:6)

insert into db2.table2 (field1,field2,..,fieldN)
select field1,field2,..,fieldN from db1.table1

编辑。如果您需要在两个不同的数据库之间进行更新,这是正确的语法:

update 
db2.table2 as t2,
db1.table1 as t1
set 
t2.field1 = t1.field1,
t2.field2 = t1.field2,
t2.field3 = t1.field3
where t1.id = t2.id

答案 1 :(得分:3)

如果两个数据库都在同一台服务器上,那么最简单的方法是使用INSERT INTO... SELECT查询

INSERT INTO
   database2.table2 (c1, c2, c3)
SELECT
   c2, c4, MD5(c3)  --you can choose only these columns that are needed as well as use functions to convert data to required format if needed
FROM
   database1.table1

答案 2 :(得分:0)

答案 3 :(得分:0)

这会将所有数据从一个表复制到另一个表(MySQL)

INSERT INTO  `databse_name`.`tablename_copy` 
SELECT * 
FROM  `databse_name`.`tablename` ;

如果设置主键,则会产生一些问题。请检查主键重复错误