..


赞助商链接

更新两个或多个表

由Max博西写文章

使用UPDATE命令,我们有机会采取行动的现有记录和修改。
再比如说,有,在我们的数据库,phone_numbers这样的结构表:

  • 姓名
  • 手机
并说我们的。 表已经填充了3个记录:

姓名 手机
马里奥 - 罗西 123.456789
安东尼比安奇 987.654321
克劳迪奥威尔第 321.654987

现在让我们说,先生 约翰史密斯提出的,因此,改变了电话号码。 为了提升我们的电话本,我们使用这样的查询:





 UPDATE







 phone_numbers







日







电话= '213 0.698547“







 WHERE







名称='李四'



到目前为止,并无新意。
现在假设我们有一个名为地址另一个表结构如下:
  • 姓名
  • 全市
然后,此表假设已与3个匹配的记录的三个朋友已经在其他表中的地址填入:

姓名 引号
马里奥 - 罗西 罗马街11 都灵 TO
安东尼比安奇 通过加里波第2 Gallarate的 VA
克劳迪奥威尔第 广场凯沃尔4 科莫 CO

经过这漫长的介绍,我们步入正题,让这篇文章的标题:我如何同时更新两个表,即使用一个查询,而不是两个?
简单,使用一个JOIN的UPDATE一步!

返回到例子中,我们第一次使用这样的查询:






 UPDATE







 phone_numbers







 INNER JOIN







地址







 ON







 numeri_di_telefono.nome = indirizzi.nome







日







 numeri_di_telefono.telefono = '213 0.698547“,







 indirizzi.via ='共和国广场5',







 indirizzi.citta =“伦敦”,







 indirizzi.prov ='MI'







 WHERE







 numeri_di_telefono.nome ='李四'



在运行查询选择更新两个表由两个不同的验证。 下面是他们的结果(以黄色突出显示):

1)表phone_numbers

 



 SELECT * FROM phone_numbers

 
姓名 手机
马里奥 - 罗西 213.698547
安东尼比安奇 987.654321
克劳迪奥威尔第 321.654987

1) 地址
 



 SELECT * FROM地址

 
姓名 引号
马里奥 - 罗西 5平方米的共和国 米兰 MI
安东尼比安奇 通过加里波第2 Gallarate的 VA
克劳迪奥威尔第 广场凯沃尔4 科莫 CO

一个更新多个表,它们之间的关系实用技术的优势,使用联接是减少了一个简单的原理为基础的服务器工作量:“两个以上的查询是更好的。”

在同一类...
电子学习
MS访问(高级) MS访问(高级)
了解如何创建和管理数据库迅速和容易。 起价29€。
MySQL的(课程) MySQL的(课程)
管理的开放源码数据库。 从39€。
SQL和数据库(课程) SQL和数据库(课程)
创建和管理关系数据库。 从39€。
赞助商链接