一、 查看表结构
下面三个是我们最常用的查看数据表结构的语句:
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)