分析ms資料庫的使用者表數和記錄數

2021-04-01 06:29:42 字數 1658 閱讀 4154

近來乙個專案要求做幾個資料庫的比較,其中有幾項指標和資料庫的表有關:

使用者表個數

最大表記錄數

記錄總條數

如果靠手工乙個表乙個表的去檢視統計,不僅枯燥費時,而且靈活性和擴充套件都不是很好,可能主要還是想偷懶的原因吧,今天花了點時間寫了個簡單的儲存過程,只是為了快點完成任務,還沒得及考慮方便性和處理錯誤,下面是源**,原理很簡單,參看**中注釋。

create procedure sp_tablecount

@newtable varchar(50),--new create table name

@isset int            --whether return new table recordset,non 0--return

asdeclare @tablename nvarchar(100);

declare @sql nvarchar(800)

set nocount on

----create a target table named @newtable param value--------

if exists (select table_name from information_schema.tables

where table_name = @newtable)

exec('drop table '+@newtable)

-----create target table------------

set @sql='create table ' + @newtable + '

(categary nvarchar(100) not null,

value    int

)'exec(@sql) 

----------add user tables count into target table----------------

set @sql='insert into '+@newtable+' select ''user tables'',count(*)-1  from sysobjects where type=''u'''

exec(@sql)

--------define a cursor pointing the user tablename recordset--------

declare tablename_cursor cursor for

select name  from sysobjects where  type='u'and name<>@newtable

open tablename_cursor

fetch next from tablename_cursor into @tablename

fetch next from tablename_cursor into @tablename

end-------release  resource occupied by tablename_cursor --------

close tablename_cursor

deallocate tablename_cursor

--------deal with the @isset param-----------------

if @isset<>0

exec('select * from '+@newtable)

MySQL 查詢資料庫 資料表總記錄數

information schema資料庫是mysql系統自帶的資料庫,它提供了資料庫元資料的訪問方式。information schema就記錄了資料庫當中大部分基本的資訊,比如字符集,許可權相關,資料庫實體物件資訊,外檢約束,分割槽,壓縮表,表資訊,索引資訊,引數,優化,鎖和事物等等。通過inf...

mysql 檢視資料庫中所有表的記錄數

mysql使用select count from table name可以查詢某個表的總記錄數。想快速的知道資料庫中所有表的記錄數資訊怎麼辦?如果使用mysql的版本在5.0及以上,可以通過查詢information schema庫中的tables表來獲取,該表中使用table rows記錄表的行數...

mysql 檢視資料庫中所有表的記錄數

mysql 使用select count from table name可以查詢某個表的總記錄數。想快速的知道 資料庫中所有表的記錄數資訊怎麼辦?如果使用 mysql 的版本在5.0及以上,可以通過查詢 information schema 庫中的tables表來獲取,該表中使用table rows...