近來乙個專案要求做幾個資料庫的比較,其中有幾項指標和資料庫的表有關:
使用者表個數
最大表記錄數
記錄總條數
如果靠手工乙個表乙個表的去檢視統計,不僅枯燥費時,而且靈活性和擴充套件都不是很好,可能主要還是想偷懶的原因吧,今天花了點時間寫了個簡單的儲存過程,只是為了快點完成任務,還沒得及考慮方便性和處理錯誤,下面是源**,原理很簡單,參看**中注釋。
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...