当数据库属于不同的用户时,将数据从一个数据库中的表复制到另一个数据库中的表的最佳方法是什么?

我知道我可以用

INSERT INTO database2.table2 SELECT * from database1.table1

但这里的问题是database1和database2都在不同的MySQL用户下。所以user1只能访问database1, user2只能访问database2。任何想法?


当前回答

我使用Navicat MySQL…

它使所有数据库操作变得简单!

您只需在Navicat中选择两个数据库,然后使用。

 INSERT INTO Database2.Table1 SELECT * from Database1.Table1

其他回答

我使用Navicat MySQL…

它使所有数据库操作变得简单!

您只需在Navicat中选择两个数据库,然后使用。

 INSERT INTO Database2.Table1 SELECT * from Database1.Table1

这是你需要定期做的事情,还是只做一次?

你可以做一个导出(例如使用phpMyAdmin或类似),将脚本出你的表和它的内容到一个文本文件,然后你可以重新导入到另一个数据库。

使用MySql工作台的导出和导入功能。 步骤: 1. 选择所需的值

E.g. select * from table1; 

单击Export按钮并将其保存为CSV。 使用与第一个表相似的列创建一个新表 例如,创建表table2像table1; 从新表中选择所有选项 例如:select * from table2; 单击Import并选择在步骤2中导出的CSV文件

如果您正在使用PHPMyAdmin,它可能非常简单。 假设你有以下数据库:

DB1 & DB2

DB1有一个表用户,您希望将其复制到DB2

在PHPMyAdmin下,打开DB1,然后转到用户表。

在这个页面上,点击右上方的“操作”选项卡。 在操作下,寻找Copy table to (database.table)部分:

&你完蛋了!

我知道这是一个老问题,只是回答,以便任何人降落在这里得到更好的方法。

从5.6.10开始你就可以做到

CREATE TABLE new_tbl LIKE orig_tbl;

参考文档:https://dev.mysql.com/doc/refman/5.7/en/create-table-like.html