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)參見: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)文章
sqlserver 2000中創(chuàng)建用戶的圖文方法
今天網(wǎng)上有人問(wèn)我,如何在sqlserver中新建一個(gè)用戶,因?yàn)椴豢赡苡胹a登錄,這樣會(huì)帶來(lái)安全隱患。2012-03-03
SQLSERVER 根據(jù)地圖經(jīng)緯度計(jì)算距離差示例
SQL SERVER 根據(jù)地圖經(jīng)緯度計(jì)算距離及其公式如下,需要的朋友可以參考下2013-08-08
把excel表格里的數(shù)據(jù)導(dǎo)入sql數(shù)據(jù)庫(kù)的兩種方法
這篇文章介紹了把excel表格里的數(shù)據(jù)導(dǎo)入sql數(shù)據(jù)庫(kù)的兩種方法,有需要的朋友可以參考一下2013-09-09
case?when?then?else?end語(yǔ)句的用法(附demo)
本文主要介紹了case?when?then?else?end語(yǔ)句的用法,主要介紹了兩種格式,簡(jiǎn)單case函數(shù)和case搜索函數(shù),具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10
MSSQL數(shù)據(jù)類型及長(zhǎng)度限制詳細(xì)說(shuō)明
在 Microsoft® SQL Server™ 中,每個(gè)列、局部變量、表達(dá)式和參數(shù)都有一個(gè)相關(guān)的數(shù)據(jù)類型,這是指定對(duì)象可持有的數(shù)據(jù)類型(整型、字符、money 等等)的特性。2008-08-08
asp.net 使用SqlBulkCopy極速插入數(shù)據(jù)到 SQL Server
今天早上reader 上收到cnblogs的訂閱里看到一個(gè)關(guān)于SQL語(yǔ)句快速插入的文章,提到SqlBulkCopy,感覺(jué)不錯(cuò),按他的測(cè)試SqlBulkCopy要比普通插入快近30倍,2010-04-04
SQLServer 游標(biāo)的創(chuàng)建和使用基本步驟
游標(biāo)主要用于存儲(chǔ)過(guò)程、觸發(fā)器或T-SQL腳本中,當(dāng)需要遍歷查詢結(jié)果集中的每一行數(shù)據(jù)并進(jìn)行操作時(shí),游標(biāo)就顯得非常有用,本文給大家介紹SQLServer 游標(biāo)的創(chuàng)建和使用基本步驟,感興趣的朋友一起看看吧2024-08-08
SQL語(yǔ)句實(shí)現(xiàn)表中字段的組合累加排序
本文分享SQL語(yǔ)句實(shí)現(xiàn)表中字段的組合累加排序的實(shí)例代碼,希望能給大家做一個(gè)參考。2016-06-06

