Mysql 如何查看一个表的unique key
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql 如何查看一个表的unique key相关的知识,希望对你有一定的参考价值。
参考技术A mysql数据库管理工作中,经常需要查看一个table的primary key, unique key, foreign key。而mysql 客户端提供的describe table_name命令,却只能显示一个表的primary key和foreign key。这里介绍一种查询unique key的方法。Mysql所有有关数据schema的信息都保存在INFORMATION_SCHEMA这个database instance里面。其中的两个表,TABLE_CONSTRAINTS和KEY_COLUMN_USAGE,保存了表的所有key信息。
TABLE_CONSTRAINTS
保存一个表的约束条件,其columns如下:
CONSTRAINT_CATALOG
CONSTRAINT_SCHEMA
CONSTRAINT_NAME :约束的名称
TABLE_SCHEMA :表所在的database instance
TABLE_NAME : 表名称
CONSTRAINT_TYPE :约束类型(primary key, foreign key, 或者unique key)
KEY_COLUMN_USAGE
保存一个表的详细column对应的约束条件信息,其columns如下:
CONSTRAINT_CATALOG
CONSTRAINT_SCHEMA
CONSTRAINT_NAME
:约束的名称
TABLE_CATALOG
TABLE_SCHEMA
:表所在的database instanceTABLE_NAME: 表名称COLUMN_NAME :列名称
ORDINAL_POSITION
POSITION_IN_UNIQUE_CONSTRAINT
REFERENCED_TABLE_SCHEMA
REFERENCED_TABLE_NAME
REFERENCED_COLUMN_NAME
通过查询KEY_COLUMN_USAGE表,即可以获取一个表的所有详细约束条件。本回答被提问者采纳
mysql查看数据表索引信息
查看索引
mysql> show index from tblname;
mysql> show keys from tblname;
· Table
表的名称。
· Non_unique
如果索引不能包括重复词,则为0。如果可以,则为1。
· Key_name
索引的名称。
· Seq_in_index
索引中的列序列号,从1开始。
· Column_name
列名称。
· Collation
列以什么方式存储在索引中。在MySQL中,有值‘A’(升序)或NULL(无分类)。
· Cardinality
索引中唯一值的数目的估计值。通过运行ANALYZE TABLE或myisamchk -a可以更新。基数根据被存储为整数的统计数据来计数,所以即使对于小型表,该值也没有必要是精确的。基数越大,当进行联合时,MySQL使用该索引的机 会就越大。
· Sub_part
如果列只是被部分地编入索引,则为被编入索引的字符的数目。如果整列被编入索引,则为NULL。
· Packed
指示关键字如何被压缩。如果没有被压缩,则为NULL。
· Null
如果列含有NULL,则含有YES。如果没有,则该列含有NO。
· Index_type
用过的索引方法(BTREE, FULLTEXT, HASH, RTREE)。
· Comment
以上是关于Mysql 如何查看一个表的unique key的主要内容,如果未能解决你的问题,请参考以下文章
MySQL简述 MySQL 的主键 PRIMARY KEY 和唯一键 UNIQUE INDEX