SQL 統計乙個資料庫中所有表記錄的數量

2021-09-08 15:56:55 字數 820 閱讀 3685

最近公司的資料庫發現有表的資料被弄掉了,有些資料表記錄為0,於是想找出此資料庫中到底有哪些資料表的記錄都為0以縮小分析範圍,可使用如下的sql statement: 

create

table   #tmptb(tbname   sysname,tbrows   

int,tbreserved   

varchar(

10),tbdata   

varchar(

10) 

,tbindexsize   

varchar(

10),tbunused   

varchar(

10)) 

insert

into  #tmptb   

exec   sp_msforeachtable   

'exec   sp_spaceused   ''?

'''select

*from   #tmptb 

--列出所有表的情況 

select tbrows ,tbname   

from  #tmptb 

where tbrows

=0--

列出記錄資料為0的表

order

by tbname

drop

table #tmptb

其中tbname     表名

tbrows     記錄數

tbreserved     保留空間

tbdata     使用空間

tbindexsize     索引使用空間

tbunused   未用空間

刪除乙個資料庫中所有資料的方法

其實刪除資料庫中資料的方法並不複雜,為什麼我還要多此一舉呢,一是我這裡介紹的是刪除資料庫的所有資料,因為資料之間可能形成相互約束關係,刪除操作可能陷入死迴圈,二是這裡使用了微軟未正式公開的sp msforeachtable儲存過程。也許很多讀者朋友都經歷過這樣的事情 要在開發資料庫基礎上清理乙個空庫...

SQL刪除乙個表中所有記錄命令

truncate table 刪除表中的所有行,而不記錄單個行刪除操作。語法 truncate table name 引數 name 是要截斷的表的名稱或要刪除其全部行的表的名稱。注釋 truncate table 在功能上與不帶 where 子句的 delete 語句相同 二者均刪除表中的全部行。...

sql查詢資料庫中所有表名 續

讀取庫中的所有表名 select name from sysobjects where xtype u 讀取指定表的所有列名 select name from syscolumns where id select max id from sysobjects where xtype u and na...