MySQL 查看数据表结构以及详情的方法

430 查看

一、 查看表结构

下面三个是我们最常用的查看数据表结构的语句:

desc table
describe table
show columns from tbale
如果你在控制台一次输入,就会发现这三个语句所打印的结果是一样的。

比如我在本地study_test_db数控中尝试查看info表的结构,结果如下:

mysql> use study_test_db;  
Database changed  
mysql> desc info;  
+-------+-------------+------+-----+---------+----------------+  
| Field | Type        | Null | Key | Default | Extra          |  
+-------+-------------+------+-----+---------+----------------+  
| name  | varchar(50) | YES  |     | NULL    |                |  
| pwd   | varchar(50) | YES  |     | NULL    |                |  
| email | varchar(50) | YES  |     | NULL    |                |  
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |  
+-------+-------------+------+-----+---------+----------------+  
4 rows in set (0.01 sec)  

二、查看建表语句详情

语句:show create table info;

这里直接回车的话,结果可能比较乱,如果需要的话,可以再后面 ; 处替换为G,这样结果就会竖直打印,看起来更清晰明白。

比如这里我还是以info表为例:

mysql> show create table info\G  
*************************** 1. row ***************************  
       Table: info  
Create Table: CREATE TABLE `info` (  
  `name` varchar(50) DEFAULT NULL,  
  `pwd` varchar(50) DEFAULT NULL,  
  `email` varchar(50) DEFAULT NULL,  
  `id` int(11) NOT NULL AUTO_INCREMENT,  
  PRIMARY KEY (`id`)  
) ENGINE=MyISAM AUTO_INCREMENT=4323693 DEFAULT CHARSET=gbk  
1 row in set (0.00 sec)  

三、通过mysql中自带的information_schema数据库,查看表信息

可以通过查询tables和colums表来查看具体的数据表信息

其中:
TABLES表:提供了关于数据库中的表的信息(包括视图)。详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息。是show tables from schemaname的结果取之此表。

COLUMNS表:提供了表中的列信息。详细表述了某张表的所有列以及每个列的信息。是show columns from schemaname.tablename的结果取之此表。

例如查询info表的表名和注释:

mysql> use information_schema;  
Database changed  
mysql> select table_name,table_comment from tables where table_schema='study_test_db' and table_name='info';  
+------------+---------------+  
| table_name | table_comment |  
+------------+---------------+  
| info       | 测测试试          |  
+------------+---------------+  
1 row in set (0.01 sec)