MySQL经过SHOW TABLE STATUS查看库中全部表的具体信息

有时候咱们想看下指定库下全部表的使用状况,好比,查询表的Table大小,何时建立的,数据最近被更新的时间(即最近一笔insert/update/delete的时间)。这些信息对咱们进行库表维护颇有做用。sql

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;

  显示结果以下:工具

相关文章
相关标签/搜索