您好,登錄后才能下訂單哦!
這篇文章主要介紹了sql更新語(yǔ)句中update set from怎么用,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
執(zhí)行一般的sql更新語(yǔ)句為update table_name set column_name=value where column_name1=value1;但是我們有時(shí)候需要將某個(gè)表用的字段根據(jù)兩個(gè)表中相關(guān)字段更新為另一個(gè)表中某個(gè)字段的數(shù)據(jù),即a表中主鍵aid在b表中有個(gè)外鍵bid相關(guān),b表中字段b需要根據(jù)a、b表對(duì)應(yīng)id更新為a表中字段c的數(shù)據(jù),如果根據(jù)以上的sql一條一條的更新會(huì)非常浪費(fèi)時(shí)間,所以我們需要用到update set from的語(yǔ)句用法。
在數(shù)據(jù)庫(kù)中有一張表為student,如下所示:
如果以真實(shí)的情況來(lái)看的話,在一張學(xué)生表里,那么有些人的年齡是錄入錯(cuò)誤的,那么我們需要修改這些錯(cuò)誤,在數(shù)據(jù)量非常大的情況下,這些數(shù)據(jù)修改起來(lái)是很費(fèi)時(shí)間的,所以我們可以用一張excel表核對(duì)好所有學(xué)生信息,然后導(dǎo)入數(shù)據(jù)庫(kù),成為一張臨時(shí)的表。
以下為我們導(dǎo)入的臨時(shí)表:
其中student_id為生成的guid,那么我們現(xiàn)在需要根據(jù)名字在更新他們的年齡,執(zhí)行以下sql語(yǔ)句:
update student set age=tm.age from temporary tm where student.name=tm.name
執(zhí)行成功后,就可以看到我們的student表已經(jīng)更新成功了:
注:更新、刪除等語(yǔ)句在執(zhí)行后都不可以撤銷(xiāo),返回。所以在操作的時(shí)候已經(jīng)要小心謹(jǐn)慎,如果擔(dān)心操作失誤,可以先備份數(shù)據(jù)庫(kù),或新建兩張一樣的表,先執(zhí)行一次,成功后再到正式的表中執(zhí)行。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“sql更新語(yǔ)句中update set from怎么用”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。