如何刪除數據庫表中的數據?


刪除數據庫表中數據有兩種方式:

第一種:delete from tablename where 1=1;

第二種:truncate  table tablename;

區別是:第二種清空表數據比較及時,能夠很快地釋放數據庫表空間,而且不記錄刪除操作,自增字段還是從表建立的時候設置的初始值開始,

      第一種方式下數據庫空間不一定能及時釋放出來,而且如果有identity字段,之后再插入數據也不會從定義的初始值開始自增。

注意:truncate 不能刪除行數據,要刪就要把表清空

delete 語句每次刪除一行,並在事務日志中為所刪除的每行記錄一項。所以可以對delete操作進行roll back

1、truncate 在各種表上無論是大的還是小的都非常快。如果有ROLLBACK命令Delete將被撤銷,而 truncate 則不會被撤銷。 
2、truncate 是一個DDL語言,向其他所有的DDL語言一樣,他將被隱式提交,不能對 truncate 使用ROLLBACK命令。 
3、truncate 將重新設置高水平線和所有的索引。在對整個表和索引進行完全瀏覽時,經過 truncate 操作后的表比Delete操作后的表要快得多。 
4、truncate 不能觸發任何Delete觸發器。 
5、當表被清空后表和表的索引講重新設置成初始大小,而delete則不能。 
6、不能清空父表

注意:drop table tablename;是將表刪除,包括表中的內容,表的定義,數據庫表空間

參考:http://www.cr173.com/html/40708_1.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM