在SQL server 2008中如何更新、刪除數(shù)據(jù)
SQL語句可以更新和刪除數(shù)據(jù),這應(yīng)該很有用處,倘若要建立一個網(wǎng)站,那么數(shù)據(jù)要寫進(jìn)數(shù)據(jù)庫,就可以用到這些語句了。

1. SQL更新數(shù)據(jù)表中的數(shù)據(jù)update
語法:
Update 表名
Set 字段名=更新值
Where 條件表達(dá)式
參數(shù):
Update指出要更新那個表的數(shù)據(jù)
Set支持要更新的字段名
Where指出更新字段中的那些數(shù)據(jù)
如果要更新多個字段的數(shù)據(jù),可以在SET后將更新的數(shù)據(jù)值一一列出,用“’”分隔。
利用子查詢更新數(shù)據(jù)表,如果更新的數(shù)據(jù)需要其他表中得到參數(shù),就可以利用子查詢來完成任務(wù)。
使用表連接更新數(shù)據(jù),可以使用FROM和WHERE的結(jié)合來查詢參數(shù)條件,語法:
Update 表名
Set 字段名=更新值
From 表1,表2
Where 條件按表達(dá)式
這樣就從幾個表中聯(lián)合查詢得到條件和參數(shù)。
2. update將數(shù)據(jù)更新為NULL刪除數(shù)據(jù)
語法:
Update 表名
Set 字段=NULL
Where 條件表達(dá)式
3. 刪除數(shù)據(jù)表中的數(shù)據(jù)delete語句
語法:
Delete from 表名
Where 條件表達(dá)式
聯(lián)合查詢刪除數(shù)據(jù),會有所區(qū)別。
語法:
Delete 表名
From 表1,表2
Where 條件表達(dá)式
這里刪除的是DELETE后的表中的數(shù)據(jù),而與from后的表無關(guān),from后的表只是聯(lián)合查詢的參數(shù)或者條件。
如果要刪除所有的數(shù)據(jù),只需要不設(shè)定條件即可:
Delete from 表名
這樣就OK了,但是還有一種方法,是前面學(xué)過的,在學(xué)習(xí)表的刪除階段和重命名時,就曾學(xué)習(xí)到一個關(guān)鍵詞叫TRUNCATE,這個關(guān)鍵詞也可以實現(xiàn)這個效果,實際上,這個截斷的效果執(zhí)行效率更高,因為delete刪除數(shù)據(jù)時會寫一些日志文件,如果刪除執(zhí)行失敗,數(shù)據(jù)將會回退,保持原樣,truncate就不會寫日志文件:
Truncate table 表名
這樣也就OK了。
4. 使用視圖更新和刪除數(shù)據(jù)表中的數(shù)據(jù)
語法:
Update 視圖名
Where 條件表達(dá)式
Delete from 視圖名
Where 條件表達(dá)式
和操作數(shù)據(jù)表是一樣的,但是很多視圖無法更新數(shù)據(jù)成功:
1. 含有聚合函數(shù)
2. 含有g(shù)roup by的語句
3. 視圖中有非空約束但又不含有默認(rèn)值的字段
4. 含有distinct關(guān)鍵詞
5. 含有需要計算值字段
6. 含有多表連接的視圖。
相關(guān)文章:
1. SQLServer導(dǎo)出數(shù)據(jù)庫字典的詳細(xì)圖文教程2. ODBC連接數(shù)據(jù)庫以SQLserver為例圖文詳解3. SqlServer服務(wù)中利用觸發(fā)器對指定賬戶進(jìn)行登錄ip限制提升安全性操作4. SqlServer事務(wù)語法及使用方法詳解5. SQLServer查找字符串在另一字符串的索引位置6. SqlServer創(chuàng)建自動收縮事務(wù)日志任務(wù)的圖文教程7. win11安裝sqlserver失敗的詳細(xì)解決方案8. Mysql和SQLServer驅(qū)動連接的實現(xiàn)步驟9. SQLServer實現(xiàn)Ungroup操作的示例代碼10. 自己動手把ACCESS轉(zhuǎn)換到SQLSERVER的方法

網(wǎng)公網(wǎng)安備