数据库MySQL中关于“多表关联更新”的那些事

Posted Demrystv

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库MySQL中关于“多表关联更新”的那些事相关的知识,希望对你有一定的参考价值。

  在常见的sql中,我们经常在查询中进行多表关联查询,用的比较熟练。今天在开发中遇到一个实际业务场景是多表关联更新,一时不知所措。本着多学习的态度,没有直接写java代码去实现,终于把多表关联更新的sql弄清楚了。下面将实际业务场景进行简化,分别有person表和information表,最终目的是将 information表中的年龄更新到person表中的每个人的年龄。分别写了几个sql demo来把多表更新的知识理解透彻。

  首先,在更新前,person表和information表分别如下:

information表

 person表

1. CASE1

  sql :update information,person SET information.phone=\'13812345678\',person.age = \'18\' WHERE information.name = person.name

  更新后的information表和person表分别如下

         

  当然,还有一种方式可以实现上面的功能

  sql:UPDATE information JOIN person on information.name = person.name SET information.phone=\'13811111111\',person.age = \'18\'

  或者是

  sql:UPDATE information LEFT JOIN person on information.name = person.name SET information.phone=\'13811111111\',person.age = \'18\'

2.  CASE2  

  sql:UPDATE information RIGHT JOIN person on information.name = person.name SET information.phone=\'13922222222\',person.age = \'19\'

  更新后的information表和person表分别如下

      

 3.  CASE3

  sql:  UPDATE information JOIN person on information.name = person.name SET information.age=person.age

     

 

   通过上述几个例子,相信关于多条关联更新的分析应该是比较透彻了。多学习,多成长。

 

以上是关于数据库MySQL中关于“多表关联更新”的那些事的主要内容,如果未能解决你的问题,请参考以下文章

linux中关于进程那些事

面试中关于Spring AOP和代理模式的那些事

消息中间件解析 | 如何正确理解软件应用系统中关于系统通信的那些事?

Android 中关于九宫格图片的那些事

Android 中关于九宫格图片的那些事

产品设计中关于思考力那些事