❶ sql資料庫中當需要刪除操作時 什麼時候用delete 什麼時候用drop
delete 是刪除表中數據
例如:
deletetable_temp;
deletetable_tempwhereid=3;
Drop 是刪除資料庫中的對象
例如:
droptabletable_temp--刪除表
dropprocUsp_UserLogin--刪除存儲過程
❷ 誰能告訴我SQL server里,刪除語句 Drop、DELETE、TRUNCATE三者有什麼區別
drop 是把表和 數據 都刪掉了 delete是把表裡的某個元組 及裡面的某個 數據 刪掉了 truncate是把表裡的數據全部 刪掉 但表的結果 沒刪掉 只是 數據全刪掉了
❸ SQL刪除語句中Drop、DELETE、TRUNCATE三者有什麼區別
三者的區別是:
delete
from
表名執行delete後,表結構依然存在,只刪除表中全部數據。drop
from
表名
執行delete後,表結構和數據全部被刪除。並且delete執行後還有個提交的過程,drop就一步操作完成。刪除速度一般來說drop快於truncate
快於
delete,小心使用
drop
和
truncate,尤其沒有備份的時候.,否則數據找不回來。
相同點:
truncate和不帶where子句的delete,以及drop
都會刪除表內的數據
❹ sql中drop,truncate和delete的區別
drop 是刪除表、視圖、觸發器等,刪除數據結構。
truncate,delete都是刪除表的數據,前者相當於WINDOWS系統里的SHIFT加刪除,無法通過rollback進行數據回滾,刪除速度很快。後者相當WINDOWS系統里的刪除,可以通過rollback進行回滾,刪除速度較慢。
當然,刪除速度快慢是建立在數據量非常大的基礎上的。
❺ SQL 語句里delete 和drop有什麼區別
1、執行速度不同
drop語句的速度要大於delete語句。
2、語言種類不同
delete語句是DML語言,不會自動提交。
drop語句是DDL語言,執行後會自動提交。
3、功能不同
delete語句用於刪除局部性數據如表中的某一元組。
drop語句一般用於刪除整體性數據如表,模式,索引,視圖,完整性限制等。
4、刪除形式不同
delete語句刪除內容、釋放空間但不刪除定義,但是delete既可以對行數據進行刪除,也可以對整表數據進行刪除。
drop語句刪除內容和定義,並釋放空間。執行drop語句,將使此表的結構一起刪除。
❻ 資料庫中drop和delete的區別
資料庫中drop和delete的區別為:刪除不同、操作不同、操作對象不同。
一、刪除不同
1、drop:drop主要用於刪除數據結構,包括內部的數據內容。
2、delete:delete主要用於刪除數據內容,不刪除數據結構。
二、操作不同
1、drop:drop操作不放到rollbacksegment中,不能回滾,操作不觸發trigger。
2、delete:delete操作會放到rollbacksegement中,在事務提交後生效,執行時觸發相應的trigger。
三、操作對象不同
1、drop:drop的操作對象可以是資料庫,也可以是資料庫中的數據表。
2、delete:delete的操作對象只能是資料庫中的數據表。
❼ SQL刪除語句中Drop、DELETE、TRUNCATE三者有什麼區別
三者的區別是:
delete from 表名執行delete後,表結構依然存在,只刪除表中全部數據。drop from 表名 執行delete後,表結構和數據全部被刪除。並且delete執行後還有個提交的過程,drop就一步操作完成。刪除速度一般來說drop快於truncate 快於 delete,小心使用 drop 和 truncate,尤其沒有備份的時候.,否則數據找不回來。
相同點:
truncate和不帶where子句的delete,以及drop 都會刪除表內的數據
❽ sql 中關於delete drop alter
sql中delete,drop ,truncate都代表刪除,但3者又有一些區別
1. truncate和 delete只刪除數據不刪除表的結構(定義)
drop語句將刪除表的結構被依賴的約束(constrain),觸發器(trigger),索引(index); 依賴於該表的存儲過程/函數將保留,但是變為invalid狀態.
2.delete語句是dml,這個操作會放到rollback segement中,事務提交之後才生效;如果有相應的trigger,執行的時候將被觸發.
truncate,drop是ddl, 操作立即生效,原數據不放到rollback segment中,不能回滾. 操作不觸發trigger.
3.delete語句不影響表所佔用的extent, 高水線(high watermark)保持原位置不動
顯然drop語句將表所佔用的空間全部釋放
truncate 語句預設情況下見空間釋放到 minextents個 extent,除非使用reuse storage; truncate會將高水線復位(回到最開始).
4.速度,一般來說: drop>; truncate >; delete
5.安全性:小心使用drop 和truncate,尤其沒有備份的時候.否則哭都來不及
使用上,想刪除部分數據行用delete,注意帶上where子句. 回滾段要足夠大.
想刪除表,當然用drop
想保留表而將所有數據刪除. 如果和事務無關,用truncate即可. 如果和事務有關,或者想觸發trigger,還是用delete.
如果是整理表內部的碎片,可以用truncate跟上reuse stroage,再重新導入/插入數據
在實際應用中,三者的區別是明確的。
當你不再需要該表時, 用 drop;
當你仍要保留該表,但要刪除所有記錄時, 用 truncate;
當你要刪除部分記錄時(always with a WHERE clause), 用 delete.
而alter是對表結構的修改.
希望對你理解有幫助。
❾ 詳解SQL中drop,delete和truncate的異同
第一:相同點:
truncate和不帶where子句的delete,以及drop 都會刪除表內的數據
第二:不同點:
1. truncate和delete只刪除數據不刪除表的結構(定義)
drop 語句將刪除表的結構被依賴的約束(constrain)、觸發器(trigger)、索引(index);依賴於該表的存儲過程/函數將保留,但是變為 invalid 狀態。
2. delete 語句是資料庫操作語言(dml),這個操作會放到 rollback segement 中,事務提交之後才生效;如果有相應的trigger執行的時候將被觸發。
truncate、drop 是資料庫定義語言(ddl),操作立即生效,原數據不放到rollback segment中,不能回滾,操作不觸發 trigger。
3.delete 語句不影響表所佔用的extent,高水線(high watermark)保持原位置不動;
顯然drop 語句將表所佔用的空間全部釋放; truncate 語句預設情況下見空間釋放到 minextents個 extent,除非使用reuse storage;truncate 會將高水線復位(回到最開始)。
4.速度:一般來說: drop> truncate > delete
5.安全性:小心使用 drop 和 truncate,尤其沒有備份的時候.,否則哭都來不及。
6.使用上:想刪除部分數據行用delete,注意帶上where子句. 回滾段要足夠大。
想刪除表,當然用drop。
想保留表而將所有數據刪除,如果和事務無關,用truncate即可;如果和事務有關,或者想觸發trigger,還是用delete。
如果是整理表內部的碎片,可以用truncate跟上reuse stroage,再重新導入/插入數據。
❿ sql清空表數據的三種方式(truncate、delete、drop)
truncate:整體刪除所有數據,保留表結構,不能撤銷還原,不寫伺服器 log
delete:逐行刪除速度極慢,不適合大量數據刪除, 寫伺服器log (沒有truncate快的原因)
drop:刪除表,數據和表結構一起刪除,快速