程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL中聯表更新與刪除的語法引見

MySQL中聯表更新與刪除的語法引見

編輯:MySQL綜合教程

MySQL中聯表更新與刪除的語法引見。本站提示廣大學習愛好者:(MySQL中聯表更新與刪除的語法引見)文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL中聯表更新與刪除的語法引見正文


前言

置信大家在日常運用mysql,能夠會遇到需求同時更新兩張表時,我會采用在同一個事務中運用2句sql語句辨別停止更新。其實,這種需求發送2句sql語句的辦法效率絕對來說是比擬低的,有沒有只用1句sql語句就可以完成這個操作的呢?

答案是有的,上面將是代碼記載:

假定有2張表:

1,user表,字段為:id,user_name

2,user_role表,字段為:id,role_name,user_id

關聯關系是 user.id = user_role.user_id

現要更改某一條user表的數據的的user_name字段以及該user對應的user_role表中的數據的role_name字段,那麼用上面的sql就可以完成這個目的了:

update user, user_role set
 user.user_name = ?, user_role.role_name = ? 
where user.id = ? and user.id = user_role.user_id

下面寫到聯表更新,那麼有沒有聯表刪除呢?

答案也是有的,上面將是代碼記載:

假定有2張表:

1,user表,字段為:id,user_name

2,user_role表,字段為:id,role_name,user_id

關聯關系是 user.id = user_role.user_id

現要刪除某一條user表的數據以及該user對應的user_role表中的數據,那麼用上面的sql就可以完成這個目的了:

delete u, u_r from user u, user_role u_r 
where u.id = ? and u.id = u.user_id

上述sql中,u是user的別名,u_r是user_role的別名,from語句後面要附上別名,這一般名適用於指定刪除哪張表數據的,假如只要u或許u_r,那麼僅刪除對應的那張表上的數據。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或許任務能帶來一定的協助,假如有疑問大家可以留言交流。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved