如果使用mysql的版本在5.0及以上,可以通過查詢information_schema庫中的tables表來獲取,該表中使用table_rows記錄表的行數信息。例如查看庫testdb中所有表的記錄數:
代碼如下 復制代碼use information_schema;
select table_name,table_rows from tables
where TABLE_SCHEMA = 'testdb'
order by table_rows desc;
不過需要注意的是,對於InnoDB表,table_rows行計數僅是大概估計值。
另外一種辦法還是借助information_schema庫的tables表,來拼接出一個條sql語句,例如:
代碼如下 復制代碼use information_schema;
select concat(
'select "',
TABLE_name,
'", count(*) from ',
TABLE_SCHEMA,
'.',
TABLE_name,
' union all'
) from tables
where TABLE_SCHEMA='testdb';
記錄一下mysql中查看所有表的記錄數:
TABLE_SCHEMA : 數據庫名
TABLE_NAME:表名
ENGINE:所使用的存儲引擎
TABLES_ROWS:記錄數
DATA_LENGTH:數據大小 得到的結果是以字節為單位,除1024為K,除1048576(=1024*1024)為M
INDEX_LENGTH:索引大小
查看指定數據庫大小:
得到的結果是以字節為單位,除1024為K,除1048576(=1024*1024)為M