最近要查詢一些數據庫的基本情況,由於以前用oracle數據庫比較多,現在換了MySQL數據庫,就整理了一部分語句記錄下來。
1、查詢數據庫表數量
1 #查詢MySQL服務中數據庫表數據量 2 SELECT COUNT(*) TABLES, table_schema FROM information_schema.TABLES GROUP BY table_schema;
3 #查詢指定數據庫表數量 4 SELECT COUNT(*) TABLES, table_schema FROM information_schema.TABLES WHERE table_schema = 'szdb'
2、查詢數據庫字段
1 #查詢一個表中有多少字段 2 SELECT COUNT(*) FROM information_schema. COLUMNS WHERE table_schema = 'szdb' AND table_name = 'SystemLog'; 3 4 #查詢一個數據庫中有多少字段 5 SELECT COUNT(column_name) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'szdb'; 6 7 #查詢數據庫中所以表、字段、字段類型、注釋等信息 8 SELECT TABLE_NAME, column_name, DATA_TYPE, column_comment FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'szdb' ;
3、查詢數據庫中持久化的數據量
MySQL中有一個名為 information_schema 的數據庫,在該庫中有一個 TABLES 表,這個表主要字段分別:TABLE_SCHEMA : 數據庫名,TABLE_NAME:表名,ENGINE:所使用的存儲引擎,TABLES_ROWS:記錄數,DATA_LENGTH:數據大小,INDEX_LENGTH:索引大小use information_schema;統計數據主要使用的就是這張表了。
#統計數據庫中每個表保存的數據量 use information_schema; SELECT TABLE_NAME, (DATA_LENGTH/1024/1024) as DataM ,(INDEX_LENGTH/1024/1024) as IndexM,((DATA_LENGTH+INDEX_LENGTH)/1024/1024) as AllM,TABLE_ROWS FROM TABLES WHERE TABLE_SCHEMA = 'szdb' #查詢每張表數量 select table_name,table_rows from tables where TABLE_SCHEMA = 'szdb' order by table_rows desc; #數據庫總數量 SELECT sum(table_rows) from tables where TABLE_SCHEMA = 'szdb' order by table_rows desc;
需要查詢什么信息,自己修改語句就可以了。