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

我知道我可以用

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

其他回答

像sakila.customer(Database_name.tablename)一样创建表destination_customer,这只会复制源表的结构,对于数据也要复制结构,这样创建表destination_customer作为select * from sakila.customer

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

DB1 & DB2

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

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

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

&你完蛋了!

使用以下步骤将一些列从一个数据库表复制并插入到另一个数据库表

CREATE TABLE tablename (columnname datatype (size), columnname datatype (size));

2.INSERT INTO db2。SELECT columnname1,columnname2 FROM db1.tablename

MySql工作台:强烈推荐

这将很容易处理迁移问题。支持在MySql和SqlServer之间迁移指定数据库的指定表。你绝对应该试一试。

对于我来说,我需要指定模式为“information_schema”。表”

为例。

SELECT concat('CREATE TABLE new_db.', TABLE_NAME, ' LIKE old_db.', TABLE_NAME, ';') FROM information_schema.TABLES  WHERE TABLE_SCHEMA = 'old_db';