将 mySql 数据库表复制到另一个具有不同表结构的数据库表

Posted

技术标签:

【中文标题】将 mySql 数据库表复制到另一个具有不同表结构的数据库表【英文标题】:Copy mySql database table to another database table having different table structure 【发布时间】:2019-03-17 09:14:42 【问题描述】:

我有两个 mysql 数据库 db1 和 db2。我需要将数据从 db1 复制到 db2。两个数据库都在同一个用户下。两个数据库的表结构不同。

表格中的列结构不同。

例子

db1.Table1

-------------------------------------------------------
|  id  |  SessionID  |  Product1_Qty  |  Product2_qty |
-------------------------------------------------------  
|  1   |  12345      |       2        |       1       |
-------------------------------------------------------

db2.Table1(所需输出)

--------------------------------------------
|  id  |  SessionID  |  Product     |  Qty |
-------------------------------------------- 
|  1   |  12345      |  Product_1   |   2  |
--------------------------------------------
|  2   |  12345      |  Product_2   |   1  |
--------------------------------------------

编辑:对于 db1.Table1 中的每个 sessionID(1 行),db2.Table1 中应该有 2 个相同的 sessionID(2 行)

我需要 SQL 脚本将数据从 db1.Table1 复制到 db2.Table1。

实现这一目标的最佳方法是什么?

【问题讨论】:

【参考方案1】:

您可以使用下面的 SQL 来执行此操作

MySQL> insert into db2.Table1 select * from db1.Table1;

【讨论】:

db1.Table1 中的列与 db2.Table1 不同 是的,你已经提到过。试试这个查询,让我知道【参考方案2】:

试试这个

select * into databaseName.dbo.table1name from databaseName.dbo.table2name

你能评论一下这是否有效

【讨论】:

【参考方案3】:

如果您有不同数量的列,您可以使用下面的查询。

INSERT INTO db1.table1 (`column1`, `column2`)  (SELECT `column3`, `column3` FROM db2.table2)

【讨论】:

以上是关于将 mySql 数据库表复制到另一个具有不同表结构的数据库表的主要内容,如果未能解决你的问题,请参考以下文章

如何根据 MySQL 中第三个表中存在的 id 将数据从一个表复制到另一个表?

MySQL 复制表到另一个表

MySQL 复制表到另一个表

oracle中如何将数据从一个表复制到另一个表(仅复制其中某些字段)

MySQL复制一张表数据到另一张新表

mysql中有2个结构一样的表,我想把两个表的交集存到另一个表中,请问怎么操作呢?