如何将数据从一个数据库表插入另一个数据库表?

时间:2015-02-01 16:01:02

标签: mysql

我必须使用MySQL数据库 DB1 DB2 ,DB1位于在线服务器上,而DB2位于本地计算机上(localhost),现在我想使用 SQL QUERY 从DB1的名为 db1_table 的表中将一些数据插入DB2的名为 db2_table 的表中。那怎么可能呢?

2 个答案:

答案 0 :(得分:0)

我认为使用一个SQL查询是不可能的。 SQL-Query只能在一台服务器上执行,而他不知道第二台服务器。因此,您必须使用应用程序执行此操作,或者必须使用MySql Workbench或PHPMyAdmin的导入和导出功能。

在这里你可以找到一个非常相似的问题:

insert into a MySQL database on a different server

希望这会对你有所帮助。

答案 1 :(得分:0)

有可能按照@Being Human的建议创建2个同时连接 - 并编写一个查询 - 这将是理想的。但是下面的方法适用于我。

1:从在线服务器

制作DB1的转储文件
mysqldump -u <db_username> -h <db_host> -p db_name table_name > backup.sql

2:将dumpfile恢复到本地服务器和数据库(将恢复到同一个DB)

mysql -u<db_username> -p DB_NAME < backup.sql

3:从db2_table

插入db1_table
INSERT INTO DB2.db2_table (<col1>, <col2>, <col3>....) 
    SELECT <col1>, <col2>, <col3> ... 
    FROM db1_table;

确保db1_table上SELECT子查询返回的列映射到db2_table

中的列