将数据从一个数据库表移动到另一个带有shell的表

时间:2012-10-24 16:13:21

标签: mysql shell data-migration

我在mysql中有两个数据库,我想将数据从一个database1表移动到database2中的一个表。这些表具有类似的模式。我知道我可以使用此查询将数据从另一个表插入到表中。

Insert Into table1 (select * from table2)

我可以使用命令行执行此操作。问题是这些表来自diffrenet数据库,我知道从一个表读取数据,我必须用这个sql命令选择它的数据库

use database1;

我该怎么做?

2 个答案:

答案 0 :(得分:5)

您可以使用:insert Into db1.table1 (select * from db2.table2)

答案 1 :(得分:2)

您无需使用use database1句子......您可以执行以下操作:

insert into database2.table1
select * from database1.table1

如果您想使用shell,可以使用mysqldump。如果您正在使用Linux(或其他类似unix或unix的环境),则可以使用:

mysqldump -h [host] -u [user] -p[password] database1 table1 | mysql -h [host] -u [user] -p[password] database2

这将在table1中制作database1(位于database2)的精确副本。只是一个警告:如果table1中有一个名为database2的表,它将在复制之前被删除。

希望这有助于你