Mysql update多表聯(lián)合更新的方法小結(jié)
下面我建兩個(gè)表,并執(zhí)行一系列sql語(yǔ)句,仔細(xì)觀察sql執(zhí)行后表中數(shù)據(jù)的變化,很容易就能理解多表聯(lián)合更新的用法
student表 class表
1. 執(zhí)行 UPDATE student s , class c SET s.class_name='test00',c.stu_name='test00' WHERE s.class_id = c.id
student表 class表
2. 執(zhí)行 UPDATE student s JOIN class c ON s.class_id = c.id SET s.class_name='test11',c.stu_name='test11'
student表 class表
3. 執(zhí)行 UPDATE student s LEFT JOIN class c ON s.class_id = c.id SET s.class_name='test22',c.stu_name='test22'
student表 class表
4. 執(zhí)行 UPDATE student s RIGHT JOIN class c ON s.class_id = c.id SET s.class_name='test33',c.stu_name='test33'
student表 class表
5. 執(zhí)行 UPDATE student s JOIN class c ON s.class_id = c.id SET s.class_name=c.name , c.stu_name=s.name
student表 class表
知識(shí)點(diǎn)補(bǔ)充:
mysql多表關(guān)聯(lián)update
日常的開(kāi)發(fā)中一般都是寫(xiě)的單表update語(yǔ)句,很少寫(xiě)多表關(guān)聯(lián)的update。
不同于SQL Server,在MySQL中,update的多表連接更新和select的多表連接查詢(xún)?cè)谑褂玫姆椒ㄉ洗嬖谝恍┬〔町悺?/p>
來(lái)看一個(gè)具體的例子。
update orders o left join users u on o.userId = u.id set o.userName = u.name;
在上面的例子中,update關(guān)鍵字后跟的是一個(gè)多表關(guān)聯(lián)的結(jié)果集,MySQL直接將這個(gè)多表關(guān)聯(lián)的結(jié)果集看做一個(gè)單表,再在這個(gè)單表的基礎(chǔ)上做常規(guī)的update操作。
和SQL Server的細(xì)小差別在于,SQL Server的set子句跟在要更新的具體表之后,MySQL的set語(yǔ)句則是跟在要更新的結(jié)果集之后(要更新的具體表在set語(yǔ)句中設(shè)置)。
總結(jié)
到此這篇關(guān)于Mysql update多表聯(lián)合更新的方法小結(jié)的文章就介紹到這了,更多相關(guān)mysql update多表聯(lián)合更新內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mysql調(diào)優(yōu)Explain工具詳解及實(shí)戰(zhàn)演練(推薦)
這篇文章主要介紹了Mysql調(diào)優(yōu)Explain工具詳解及實(shí)戰(zhàn)演練,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03MySQL判斷查詢(xún)條件是否包含某字符串的7種方式總結(jié)
SQLServer數(shù)據(jù)庫(kù)死鎖是指在多個(gè)事務(wù)同時(shí)訪問(wèn)數(shù)據(jù)庫(kù)資源時(shí),發(fā)生了互相等待對(duì)方所持有資源的情況,導(dǎo)致所有事務(wù)無(wú)法繼續(xù)執(zhí)行的現(xiàn)象,這篇文章主要給大家介紹了關(guān)于MySQL判斷查詢(xún)條件是否包含某字符串的7種方式,需要的朋友可以參考下2024-07-07MySQL查詢(xún)和修改auto_increment的方法
這篇文章主要介紹了MySQL查詢(xún)和修改auto_increment的方法,實(shí)例分析了select查詢(xún)auto_increment及ALTER修改auto_increment的技巧,需要的朋友可以參考下2015-02-02mysql按天/小時(shí)/半小時(shí)/N分鐘/分鐘進(jìn)行數(shù)據(jù)分組統(tǒng)計(jì)功能
我們?cè)谧鲰?xiàng)目或者數(shù)據(jù)分析時(shí),經(jīng)常遇到這樣的需求:統(tǒng)計(jì)不同時(shí)間粒度下的數(shù)據(jù)分布情況,例如,每一天中每個(gè)小時(shí)網(wǎng)站的訪問(wèn)量,某路口每半個(gè)小時(shí)通過(guò)的車(chē)輛數(shù)量等,下面給大家分享mysql按天/小時(shí)/半小時(shí)/N分鐘/分鐘進(jìn)行數(shù)據(jù)分組統(tǒng)計(jì)功能,感興趣的朋友跟隨小編一起看看吧2024-04-04mysql 8.0.15 安裝圖文教程及數(shù)據(jù)庫(kù)基礎(chǔ)
這篇文章主要為大家詳細(xì)介紹了mysql 8.0.15 安裝方法圖文教程,及數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03MySQL全文索引實(shí)現(xiàn)簡(jiǎn)單版搜索引擎實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于MySQL全文索引實(shí)現(xiàn)簡(jiǎn)單版搜索引擎的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07mysql之key和index的區(qū)別及創(chuàng)建刪除索引方式
這篇文章主要介紹了mysql之key和index的區(qū)別及創(chuàng)建刪除索引方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12將.sql文件導(dǎo)入到MySQL數(shù)據(jù)庫(kù)具體步驟
MySQL有多種方法導(dǎo)入多個(gè).sql文件,下面這篇文章主要介紹了將.sql文件導(dǎo)入到MySQL數(shù)據(jù)庫(kù)的具體步驟,文中將實(shí)現(xiàn)步驟介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10PHP定時(shí)備份MySQL與mysqldump語(yǔ)法參數(shù)詳解
本文為大家介紹了PHP利用mysqldump命令定時(shí)備份MySQL與mysqldump語(yǔ)法參數(shù)大全以及定時(shí)備份的PHP實(shí)例代碼2018-10-10