sql更新語句中update set from用法實現
執(zhí)行一般的sql更新語句為update table_name set column_name=value where column_name1=value1;但是我們有時候需要將某個表用的字段根據兩個表中相關字段更新為另一個表中某個字段的數據,即a表中主鍵aid在b表中有個外鍵bid相關,b表中字段b需要根據a、b表對應id更新為a表中字段c的數據,如果根據以上的sql一條一條的更新會非常浪費時間,所以我們需要用到update set from的語句用法。
在數據庫中有一張表為student,如下所示:
如果以真實的情況來看的話,在一張學生表里,那么有些人的年齡是錄入錯誤的,那么我們需要修改這些錯誤,在數據量非常大的情況下,這些數據修改起來是很費時間的,所以我們可以用一張excel表核對好所有學生信息,然后導入數據庫,成為一張臨時的表,如何用excel導入數據庫請參見:https://mp.csdn.net/postedit/79943833。
以下為我們導入的臨時表:
其中student_id為生成的guid,那么我們現在需要根據名字在更新他們的年齡,執(zhí)行以下sql語句:
update student set age=tm.age from temporary tm where student.name=tm.name
執(zhí)行成功后,就可以看到我們的student表已經更新成功了:
注:更新、刪除等語句在執(zhí)行后都不可以撤銷,返回。所以在操作的時候已經要小心謹慎,如果擔心操作失誤,可以先備份數據庫,或新建兩張一樣的表,先執(zhí)行一次,成功后再到正式的表中執(zhí)行。
到此這篇關于sql更新語句中update set from用法實現的文章就介紹到這了,更多相關sql update set from內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SqlServer數據庫提示 “tempdb” 的日志已滿 問題解決方案
本文主要講述了筆者在執(zhí)行sql語句的過程中,遇到提示“數據庫 'tempdb' 的日志已滿。請備份該數據庫的事務日志以釋放一些日志空間?!钡慕鉀Q過程,希望對大家有所幫助2014-08-08SQL Server提示"選定的用戶擁有對象,所以無法除去該用戶”
今天在幫朋友弄一臺服務器的時候當我需要刪除一個數據庫里的用戶時,提示如下錯誤信息: "選定的用戶擁有對象,所以無法除去該用戶" 如何解決呢?2009-04-04sql server數據庫中raiserror函數用法的詳細介紹
這篇文章主要介紹了sql server數據庫中raiserror函數用法的詳細介紹,raiserror用于拋出一個異?;蝈e誤,讓這個錯誤可以被程序捕捉到。對此感興趣的可以了解一下2020-07-07