我在mysql中有两个数据库,我想将数据从一个database1表移动到database2中的一个表。这些表具有类似的模式。我知道我可以使用此查询将数据从另一个表插入到表中。
Insert Into table1 (select * from table2)
我可以使用命令行执行此操作。问题是这些表来自diffrenet数据库,我知道从一个表读取数据,我必须用这个sql命令选择它的数据库
use database1;
我该怎么做?
答案 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
的表,它将在复制之前被删除。
希望这有助于你