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=5union
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中数据复制到另一个数据库的方法:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)