MySQL中,两个不同结构的表怎样合并成一个呢?

MySQL中,两个不同结构的表怎样合并成一个呢?,第1张

1.合并的第一个步骤,是在修改【表1】结构,增加【经验值】列,可以写SQL,也可以在管理界面点鼠标完成。

2.合并的第二个步骤,是把【表1】现有数据的经验值更新,SQL语句:

UPDATE 表1 SET 经验值=(SELECT 经验值 FROM 表2 WHERE 表1.姓名=表2.姓名

3.合并的第三个步骤,把【表2】中剩下的数据复制到【表1】中,SQL语句:

DELETE FROM 表2 WHERE 姓名 IN (SELECT 姓名 FROM 表1)

INSERT INTO 表1(姓名,经验值) SELECT 姓名,经验值 FROM 表2

这个逻辑很多时候都是在代码中完成的,先查询B表,如果有就返回,如果没有再查询A表

如果一定要用sql完成也是可以的

select *,1 as sort from B where id=5

union

select *,2 as sort from A where id=5

order by sort asc

limit 1

分别查询A、B表中id=5的结果,用union合并。

如果A、B表只有一个表中有数据,那么结果肯定符合预期。

如果两个表都有id为5的数据,那么查询结果是两行。于是这里自定义了一个sort字段,B表为1,A表为2,对两条结果升序排列取第1条。这样就保证了如果A、B表都有数据时最后获取的是B表的数据。

1、使用软件Navicat就可迁移复制数据库,打开Navicat,右键点击左边空白的地方,点击New Connection下的MySQL,创建一个服务器的连接,下面将演示把本地的数据迁移到服务器:

2、在d出的创建新连接的窗口里,输入服务器的IP,数据库账号,密码等,然后就可以连接数据库了:

3、创建好后们打开本地的数据库,点击“Data Transfer”(数据传输),接着d出新的界面:

4、新窗口中在左边选择本地数据库的库,和需要转移的表,可以选择一个,或多个表:

5、然后在右边的目标里,选择服务器的连接,然后选择服务器上的数据库:

6、选择完成后,就开始进行数据转移了,数据量不是很大的,很快就会转移完成的。以上就是mysql中数据复制到另一个数据库的方法:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6118541.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-15
下一篇 2023-03-15

发表评论

登录后才能评论

评论列表(0条)

保存