sql更新語(yǔ)句中update set from用法實(shí)現(xiàn)
執(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í)的表,如何用excel導(dǎo)入數(shù)據(jù)庫(kù)請(qǐng)參見(jiàn):https://mp.csdn.net/postedit/79943833。
以下為我們導(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í)行后都不可以撤銷,返回。所以在操作的時(shí)候已經(jīng)要小心謹(jǐn)慎,如果擔(dān)心操作失誤,可以先備份數(shù)據(jù)庫(kù),或新建兩張一樣的表,先執(zhí)行一次,成功后再到正式的表中執(zhí)行。
到此這篇關(guān)于sql更新語(yǔ)句中update set from用法實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)sql update set from內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
NetBeans連接SQL server數(shù)據(jù)庫(kù)教程
這篇文章主要介紹了NetBeans連接SQL server數(shù)據(jù)庫(kù)教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06SQLSERVER對(duì)索引的利用及非SARG運(yùn)算符認(rèn)識(shí)
SQL對(duì)篩選條件簡(jiǎn)稱:SARG(search argument/SARG)當(dāng)然這里不是說(shuō)SQLSERVER的where子句,是說(shuō)SQLSERVER對(duì)索引的利用,感興趣的朋友可以了解下,或許本文的知識(shí)點(diǎn)對(duì)你有所幫助哈2013-02-02SQLServer創(chuàng)建索引的5種方法小結(jié)
本文主要介紹了SQLServer創(chuàng)建索引的5種方法小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04SqlServer數(shù)據(jù)庫(kù)提示 “tempdb” 的日志已滿 問(wèn)題解決方案
本文主要講述了筆者在執(zhí)行sql語(yǔ)句的過(guò)程中,遇到提示“數(shù)據(jù)庫(kù) 'tempdb' 的日志已滿。請(qǐng)備份該數(shù)據(jù)庫(kù)的事務(wù)日志以釋放一些日志空間?!钡慕鉀Q過(guò)程,希望對(duì)大家有所幫助2014-08-08SQL Server提示"選定的用戶擁有對(duì)象,所以無(wú)法除去該用戶”
今天在幫朋友弄一臺(tái)服務(wù)器的時(shí)候當(dāng)我需要?jiǎng)h除一個(gè)數(shù)據(jù)庫(kù)里的用戶時(shí),提示如下錯(cuò)誤信息: "選定的用戶擁有對(duì)象,所以無(wú)法除去該用戶" 如何解決呢?2009-04-04用SQL統(tǒng)計(jì)SQLServe表存儲(chǔ)空間大小的代碼
當(dāng)SQLServer數(shù)據(jù)庫(kù)越來(lái)越龐大,而其中的表有非常多的時(shí)候,想要知道到底是哪些表最耗存儲(chǔ)空間,到底該怎樣統(tǒng)計(jì)各個(gè)表的存儲(chǔ)大小呢2012-05-05sql server數(shù)據(jù)庫(kù)中raiserror函數(shù)用法的詳細(xì)介紹
這篇文章主要介紹了sql server數(shù)據(jù)庫(kù)中raiserror函數(shù)用法的詳細(xì)介紹,raiserror用于拋出一個(gè)異常或錯(cuò)誤,讓這個(gè)錯(cuò)誤可以被程序捕捉到。對(duì)此感興趣的可以了解一下2020-07-07