快速删除数据库中所有表中的数据
今天又學到一招,可以快速刪除數據庫中所有的用戶表中的數據。我是個菜鳥,望各位大神多多指教
select 'truncate table ' + Name + ';' from sysobjects where xtype='U' order by name asc;
該條語句執行之后會將數據庫中所有的表都查詢出來,復制出來之后執行truncate語句即可
sysobjects
在數據庫內創建的每個對象(約束、默認值、日志、規則、存儲過程等)在表中占一行。只有在?tempdb?內,每個臨時對象才在該表中占一行。
| name | sysname | 對象名。 |
| Id | int | 對象標識號。 |
| xtype | char(2) | 對象類型。可以是下列對象類型中的一種: C = CHECK 約束 |
| uid | smallint | 所有者對象的用戶 ID。 |
| info | smallint | 保留。僅限內部使用。 |
| status | int | 保留。僅限內部使用。 |
| base_schema_ ver | int | 保留。僅限內部使用。 |
| replinfo | int | 保留。供復制使用。 |
| parent_obj | int | 父對象的對象標識號(例如,對于觸發器或約束,該標識號為表 ID)。 |
| crdate | datetime | 對象的創建日期。 |
| ftcatid | smallint | 為全文索引注冊的所有用戶表的全文目錄標識符,對于沒有注冊的所有用戶表則為 0。 |
| schema_ver | int | 版本號,該版本號在每次表的架構更改時都增加。 |
| stats_schema_ ver | int | 保留。僅限內部使用。 |
| type | char(2) | 對象類型。可以是下列值之一: C = CHECK 約束? |
| userstat | smallint | 保留。 |
| sysstat | smallint | 內部狀態信息。 |
| indexdel | smallint | 保留。 |
| refdate | datetime | 留作以后使用。 |
| version | int | 留作以后使用。 |
| deltrig | int | 保留。 |
| instrig | int | 保留。 |
| updtrig | int | 保留。 |
| seltrig | int | 保留。 |
| category | int | 用于發布、約束和標識。 |
| cache | smallint | 保留。 |
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,尤其沒有備份的時候.否則哭都來不及?
使用上,想刪除部分數據行用delete,注意帶上where子句.?回滾段要足夠大.?
想刪除表,當然用drop?
想保留表而將所有數據刪除.?如果和事務無關,用truncate即可.?如果和事務有關,或者想觸發trigger,還是用delete.?
如果是整理表內部的碎片,可以用truncate跟上reuse?stroage,再重新導入/插入數據?
轉載于:https://www.cnblogs.com/zheyidetianshi/archive/2012/02/18/deletealltablefromonedatabase.html
總結
以上是生活随笔為你收集整理的快速删除数据库中所有表中的数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 视频编码格式转换软件:compresso
- 下一篇: web压力测试工具ab和WebBench