MySQL数据库中查询数据库表、字段总数量,查询数据总量

 最近要查询一些数据库的基本情况,由于以前用oracle数据库比较多,现在换了MySQL数据库,就整理了一部分语句记录下来。

  1、查询数据库表数量

 #查询MySQL服务中数据库表数据量
 SELECT COUNT(*) TABLES, table_schema FROM information_schema.TABLES    GROUP BY table_schema;

 #查询指定数据库表数量
 SELECT COUNT(*) TABLES, table_schema FROM information_schema.TABLES   WHERE table_schema = 'szdb'

  2、查询数据库字段

 

 #查询一个表中有多少字段
 SELECT COUNT(*) FROM information_schema. COLUMNS WHERE table_schema = 'szdb' AND table_name = 'SystemLog';
 
 #查询一个数据库中有多少字段
 SELECT COUNT(column_name) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'szdb';
 
 #查询数据库中所以表、字段、字段类型、注释等信息
 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 (sum(DATA_LENGTH)/1024/1024) as dataM 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;

 

  需要查询什么信息,自己修改语句就可以了。

  

    原文作者:迷途大灰狼
    原文地址: https://blog.csdn.net/sqlquan/article/details/112802012
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞