mysql>DESC tablename;
上述命令会返回一个表的描述信息,其中包含了表的字段信息。在这个结果集中,主键字段会被标记为PRI。如果一个表没有主键,那么PRI字段就为空。
mysql>DESC orders; +-------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(10) | YES | | NULL | | | price | decimal(5,2)| YES | | NULL | | +-------+-------------+------+-----+---------+----------------+
在上述结果中,主键字段为id,因为它被标记为PRI。如果一个表没有主键,结果中的PRI字段将没有任何值。
在MySQL命令行下,可以使用SHOW INDEXES命令来查看一个表的索引信息。主键在MySQL中被实现为唯一性索引。
mysql>SHOW INDEXES FROM orders; +--------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression | +--------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+ | orders | 0 | PRIMARY | 1 | id | A | 0 | 31| NULL | | BTREE | | | YES | NULL | +--------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
上述结果中,主键字段为id,对应的索引为PRIMARY。
在MySQL中,查看表的主键可以通过DESC命令和SHOW INDEXES命令轻松完成,这些命令都可以在命令行下执行。