通过Mysql的schema视图表查看所有库和所有表

一、前言

1.1 desc

可以查看某列是否是自增的

desc city;

1.2 show create table

查看建表语句也没有更多的信息

show create table city;
CREATE TABLE `city` (
  `ID` int NOT NULL AUTO_INCREMENT,
  `Name` char(35) NOT NULL DEFAULT '',
  `CountryCode` char(3) NOT NULL DEFAULT '',
  `District` char(20) NOT NULL DEFAULT '',
  `Population` int NOT NULL DEFAULT '0',
  PRIMARY KEY (`ID`),
  KEY `CountryCode` (`CountryCode`),
  CONSTRAINT `city_ibfk_1` FOREIGN KEY (`CountryCode`) REFERENCES `country` (`Code`)
) ENGINE=InnoDB AUTO_INCREMENT=4080 DEFAULT CHARSET=latin1

二、元数据和视图表Schema

show databases;

红色箭头标记的,是安装mysql8后自动产生的两个个视图表,使用information_schema的视图查看功能,可以看到全局数据库或数据表的元数据信息,探究全局层面的元数据

关注的视图表字段说明:

序号字段信息解释说明
01TABLE_SCHEMA表示数据表所属库的名称信息
02TABLE_NAME表示数据库中所有数据表名称
03ENGINE表示数据库服务中的引擎信息
04TABLE_ROWS表示数据库相应数据表的行数
05AVG_ROW_LENGTH表示数据表中每行的平均长度
06INDEX_LENGTH表示数据表中索引信息的长度
07DATA_FREE表示数据库服务碎片数量信息
08CREATE_TIME表示数据表创建的时间戳信息
09UPDATE_TIME表示数据表修改的时间戳信息
10TABLE_COMMENT表示数据表对应所有注释信息

三、使用视图表查看自增详情

SELECT
    AUTO_INCREMENT AS '起始值',
    TABLE_NAME AS '表名'
FROM
    INFORMATION_SCHEMA.TABLES
WHERE
    TABLE_SCHEMA = 'your_database_name'  -- 替换为你的数据库名
    AND TABLE_NAME = 'your_table_name';  -- 替换为你的表名
SELECT
AUTO_INCREMENT AS '起始值',
TABLE_NAME AS '表名'
FROM
INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = 'world'
AND TABLE_NAME = 'city';

四、使用视图表统计所有的库和表情况

select table_schema,count(*),group_concat(table_name) 
from information_schema.tables 
where table_schema 
not in ('mysql','sys','performance_schema','information_schema')
group by table_schema;

排除了mysql8自带的库,效果如下

领导让我统计数据库中的使用情况就方便很多了。

还可以统计每个表的磁盘占用情况。

select table_schema,
sum(table_rows*avg_row_length+index_length)/1024/1024 '占用字节MB'
from information_schema.tables 
where table_schema 
not in ('mysql','sys','performance_schema','information_schema') 
group by table_schema;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值