MySQL中聯(lián)表更新與刪除的語(yǔ)法介紹
前言
相信大家在日常使用mysql,可能會(huì)遇到需要同時(shí)更新兩張表時(shí),我會(huì)采用在同一個(gè)事務(wù)中使用2句sql語(yǔ)句分別進(jìn)行更新。其實(shí),這種需要發(fā)送2句sql語(yǔ)句的方法效率相對(duì)來(lái)說(shuō)是比較低的,有沒(méi)有只用1句sql語(yǔ)句就可以完成這個(gè)操作的呢?
答案是有的,下面將是代碼記錄:
假設(shè)有2張表:
1,user表,字段為:id,user_name
2,user_role表,字段為:id,role_name,user_id
關(guān)聯(lián)關(guān)系是 user.id = user_role.user_id
現(xiàn)要更改某一條user表的數(shù)據(jù)的的user_name字段以及該user對(duì)應(yīng)的user_role表中的數(shù)據(jù)的role_name字段,那么用下面的sql就可以實(shí)現(xiàn)這個(gè)目的了:
update user, user_role set user.user_name = ?, user_role.role_name = ? where user.id = ? and user.id = user_role.user_id
上面寫(xiě)到聯(lián)表更新,那么有沒(méi)有聯(lián)表刪除呢?
答案也是有的,下面將是代碼記錄:
假設(shè)有2張表:
1,user表,字段為:id,user_name
2,user_role表,字段為:id,role_name,user_id
關(guān)聯(lián)關(guān)系是 user.id = user_role.user_id
現(xiàn)要?jiǎng)h除某一條user表的數(shù)據(jù)以及該user對(duì)應(yīng)的user_role表中的數(shù)據(jù),那么用下面的sql就可以實(shí)現(xiàn)這個(gè)目的了:
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語(yǔ)句前面要附上別名,這個(gè)別名適用于指定刪除哪張表數(shù)據(jù)的,如果只有u或者u_r,那么僅刪除對(duì)應(yīng)的那張表上的數(shù)據(jù)。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。
相關(guān)文章
mysql中的replace函數(shù)替換字符串問(wèn)題
這篇文章主要介紹了mysql中的replace函數(shù)替換字符串問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
MySQL group_concat函數(shù)使用方法詳解
GROUP_CONCAT函數(shù)用于將GROUP BY產(chǎn)生的同一個(gè)分組中的值連接起來(lái),返回一個(gè)字符串結(jié)果,接下來(lái)就給大家簡(jiǎn)單的介紹一下MySQL group_concat函數(shù)的使用方法,需要的朋友可以參考下2023-07-07
MYSQL替換時(shí)間(年月日)字段時(shí)分秒不變實(shí)例解析
這篇文章主要介紹了MYSQL替換時(shí)間(年月日)字段,時(shí)分秒不變的實(shí)現(xiàn)方法,需要的朋友可以參考下2017-07-07
windows下mysql 8.0.16 安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了windows下mysql 8.0.16 安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-05-05

