MySQL通过SHOW TABLE STATUS查看库中所有表的具体信息

有时候我们想看下指定库下所有表的使用情况,比如,查询表的Table大小,什么时候创建的,数据最近被更新的时间(即最近一笔insert/update/delete的时间)。这些信息对我们进行库表维护很有作用。

1.查询语法
SHOW TABLE STATUS
    [{FROM | IN} db_name]
    [LIKE 'pattern' | WHERE expr]
2.查询语句说明
{FROM | IN} db_name, 可选项,表示查询哪个数据库下面的表信息。
LIKE 'pattern' | WHERE expr ,可选项,可指定符合条件的表;LIKE 'pattern' 可指定表名; WHERE expr,可通过 返回输出字段like来指定符合条件的表名。

不带任何参数,表示查询的是当前库中,所以表的具体信息。
例如,以下语句为查询当前库中所以表大小为
16384的表信息。
SHOW TABLE STATUS  where Data_length like 16384;

此语句返回信息如下图:

3.查询结果中各列的说明
返回列说明
Name表名称
Engine表的存储引擎
Version版本
Row_format行格式
Rows表中的行数。对于非事务性表,这个值是精确的,对于事务性引擎,这个值通常是估算的。
Avg_row_length平均每行的大下(字节)
Data_length表的数据量(单位:字节)
Max_data_length表可以容纳的最大数据量
Index_length索引占用磁盘的空间大小
Data_free标识已分配,但现在未使用的空间,并且包含了已被删除行的空间。
Auto_increment下一个Auto_increment的值
Create_time表的创建时间
Update_time表的最近更新时间
Check_time最近一次使用 check table 或myisamchk工具检查表的时间
Collation表的字符集和字符排序规则
Checksum如果启用,则对整个表的内容计算时的校验和
Create_options表创建时的其它
Comment表在创建是添加的注释说明
 
4.通过系统数据库查询

其实我们也可以通过information_schema数据库下面的tables表去查询表的具体信息。查询结果和上面的信息差不多。例如我们查询 dbtest 数据库下面的表信息
select * from information_schema.tables where TABLE_SCHEMA='dbtest' \G;

  显示结果如下:

 

 

转载于:https://www.cnblogs.com/xuliuzai/p/10840080.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值