老大------drop
出沒場合:droptable tb --tb表示資料表的名字,下同
絕招:刪除內容和定義,釋放空間。簡單來說就是把整個表去掉.以後要新增資料是不可能的,除非新增乙個表
老二-----truncate
出沒場合:truncatetable tb
絕招:刪除內容、釋放空間但不刪除定義(表的資料結構還在)。與drop不同的是,他只是清空表資料而已,他比較溫柔.
注意:truncate 不能刪除行資料,要刪就要把錶清空
老三-----delete
出沒場合:deletetable tb --雖然也是刪除整個表的資料,但是過程是痛苦的(系統一行一行地刪,效率較truncate低)
或 delete table tb where 條件(刪除指定的列)
絕招:刪除內容不刪除定義,不釋放空間。三兄弟之中最容易欺負的乙個
關於truncate的小小總結:
truncate table 在功能上與不帶 where 子句的 delete語句相同:二者均刪除表中的全部行。
但 truncate 比 delete速度快,且使用的系統和事務日誌資源少。
delete 語句每次刪除一行,並在事務日誌中為所刪除的每行記錄一項。所以可以對delete操作進行roll back
sql 刪除資料
drop table student back 這樣就刪除表了,這樣的刪除不僅會刪除表中的資料,還包括表結構 字段 檢視 索引 觸發器和依賴的約束等等。此方法慎用!truncate table student back 這樣只是刪除表中的所有資料,會保留表結構 字段 約束 索引等等,但是不能加 wh...
用SQL刪除資料
使用 delete 命令可以 刪除資料,使用 truncate 命令可以刪除整表資料但保留結構。4.7.1 刪除記錄 在 命令編輯區 輸入 delete from scott.test where empno 7500 and empno 8000 然後單擊 執行 按鈕,出現如圖4.47所示的結果。...
批量刪除資料庫的SQL語句
由於專案需要,每次執行case的時候都需要建立資料庫。雖然每次執行結束都會刪除,但是不保證每次都能刪除成功 這裡有許多原因,我就不列舉了 所以我寫了個指令碼去批量刪除資料庫。首先為確保我們的資料庫是有用的,不被錯刪除的。所以就必須先備份在刪除。備份資料庫 declare name varchar 5...