查看一张表的信息

 很多时候我们都能轻易知道一张表有多少个字段,用的是什么字符集等信息,但是仅此而已,其实MySQL给我们提供了多种查询信息的方法。

1.查看字段属性、字符集、

#下面是我们熟悉的和用的最多的
mysql> show create table student_info;
mysql> show create table student_info \G #\G表示将结果纵向输出
mysql> desc student_info;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| id      | int(3)      | NO   |     | NULL    |       |
| name    | char(12)    | YES  |     | NULL    |       |
| dorm    | char(10)    | YES  |     | NULL    |       |
| addr    | char(12)    | YES  |     | 未知    |       |
| account | int(10)     | NO   |     | NULL    |       |
| passwd  | varchar(10) | NO   |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+
desc table_name;

desc table_name;可以查看字段的具体的属性,以表格的形式打印,非常清晰。

mysql> show create table student_info\G
*************************** 1. row ***************************
       Table: student_info
Create Table: CREATE TABLE `student_info` (
  `id` int(3) NOT NULL,
  `name` char(12) DEFAULT NULL,
  `dorm` char(10) DEFAULT NULL,
  `addr` char(12) DEFAULT '未知',
  `account` int(10) NOT NULL,
  `passwd` varchar(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
show create table table_name;

show create table table_name;不仅可以查看字段的属性,还可以查看字符集和存储引擎,但是输出凌乱,查询语句后面加上“\G”会清晰一点。

 

2.关于表信息的统计

#这个才是我们要说的重点
mysql> show table status like 'student_info'\G
*************************** 1. row ***************************
           Name: student_info
         Engine: InnoDB
        Version: 10
     Row_format: Compact
           Rows: 10
 Avg_row_length: 1638
    Data_length: 16384
Max_data_length: 0
   Index_length: 0
      Data_free: 7340032
 Auto_increment: NULL
    Create_time: 2017-12-12 15:46:10
    Update_time: NULL
     Check_time: NULL
      Collation: utf8_general_ci
       Checksum: NULL
 Create_options: 
        Comment: 
1 row in set (0.00 sec)

下面解释每一行的意思:

Name:表名

Engine:表的存储引擎

Version:版本号

Row_format:行格式

Rows:表中的行数。对于非事务性表,这个值是精确的。对于事务性表,这通常是个估算值。

Avg_row_length:平均每行包括的字节数。

Data_length:整个表的数据量(以字节计算)

Max_data_length:表可以容纳的最大数据量

Index_length:索引数据占用磁盘空间的大小。

Data_free:已分配,还未被使用的空间,包含被铲除的行。

Auto_increment:下一个AUTO_INCREEMENT

Create_time:表的创建时间

Update_time:最近被更新的时间

Check_time:使用CHECK TABLE 命令或myisqmchk工具检查表时的最近检查时间。

Collation:指表中的默认字符集和字符列排序规则

Checksum:如果启用,则对整个表的内容计算实时的校验和(Checksum)

Create_options:指表创建时的其他所有选项

Comment:本字段包含了其他额外信息。对于MyISAM表,还包含了注释,如果有注释,将是在表创建时设定的。

  如果使用InnoDB存储引擎,将显示InnoDB表空间的剩余空间。如果是个视图,含“VIEW”的文本字样。

 

posted @ 2017-12-15 00:13  明王不动心  阅读(383)  评论(0编辑  收藏  举报