我在 mysql 中有两个数据库,我想将数据从 database1 的一个表移动到 database2 的一个表中。这些表具有相似的架构。我知道我可以使用此查询将数据从另一个表插入到表中。
Insert Into table1 (select * from table2)
我可以用命令行来做到这一点。问题是这些表来自不同的数据库,我知道要从一个表中读取数据,我必须使用这个 sql 命令选择它的数据库
use database1;
我怎样才能做到这一点?
我在 mysql 中有两个数据库,我想将数据从 database1 的一个表移动到 database2 的一个表中。这些表具有相似的架构。我知道我可以使用此查询将数据从另一个表插入到表中。
Insert Into table1 (select * from table2)
我可以用命令行来做到这一点。问题是这些表来自不同的数据库,我知道要从一个表中读取数据,我必须使用这个 sql 命令选择它的数据库
use database1;
我怎样才能做到这一点?
您可以使用:insert Into db1.table1 (select * from db2.table2)
您不需要使用必要的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
它将在复制之前被删除。
希望这可以帮助你