推荐答案
SHOW INDEX FROM table_name;
或者
SELECT * FROM information_schema.STATISTICS WHERE table_schema = 'your_database_name' AND table_name = 'your_table_name';
本题详细解读
1. 使用 SHOW INDEX
语句
SHOW INDEX
是 MySQL 中用于查看表索引的常用命令。它会返回一个结果集,包含表中所有索引的详细信息,如索引名称、索引类型、索引字段等。
语法:
SHOW INDEX FROM table_name;
示例:
SHOW INDEX FROM employees;
输出:
Table
: 表名Non_unique
: 索引是否允许重复值(0 表示唯一索引,1 表示非唯一索引)Key_name
: 索引名称Seq_in_index
: 索引中的列顺序Column_name
: 列名Collation
: 列的排序方式(A 表示升序,NULL 表示未排序)Cardinality
: 索引中唯一值的估计数量Sub_part
: 索引的前缀长度(如果只索引列的一部分)Packed
: 索引是否被压缩Null
: 列是否允许 NULL 值Index_type
: 索引类型(如 BTREE、HASH 等)Comment
: 其他注释信息
2. 使用 information_schema.STATISTICS
表
information_schema.STATISTICS
是一个系统表,存储了数据库中所有表的索引信息。通过查询该表,可以获取与 SHOW INDEX
类似的索引信息。
语法:
SELECT * FROM information_schema.STATISTICS WHERE table_schema = 'your_database_name' AND table_name = 'your_table_name';
示例:
SELECT * FROM information_schema.STATISTICS WHERE table_schema = 'company' AND table_name = 'employees';
输出:
TABLE_SCHEMA
: 数据库名称TABLE_NAME
: 表名NON_UNIQUE
: 索引是否允许重复值INDEX_NAME
: 索引名称SEQ_IN_INDEX
: 索引中的列顺序COLUMN_NAME
: 列名COLLATION
: 列的排序方式CARDINALITY
: 索引中唯一值的估计数量SUB_PART
: 索引的前缀长度PACKED
: 索引是否被压缩NULLABLE
: 列是否允许 NULL 值INDEX_TYPE
: 索引类型COMMENT
: 其他注释信息
这两种方法都可以有效地查看表的索引信息,选择哪种方法取决于具体的需求和偏好。