1

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

Insert Into table1 (select * from table2)

我可以用命令行来做到这一点。问题是这些表来自不同的数据库,我知道要从一个表中读取数据,我必须使用这个 sql 命令选择它的数据库

use database1;

我怎样才能做到这一点?

4

2 回答 2

5

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

于 2012-10-24T16:24:10.140 回答
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。只是一个警告:如果你有一个在其中命名的表table1database2它将在复制之前被删除。

希望这可以帮助你

于 2012-10-24T16:24:38.490 回答