要查询MySQL中某个表的索引信息,您可以使用以下几种方法:

  1. 使用 SHOW INDEX 命令
    这是最直接且常用的查询方式,用于显示指定表的所有索引详细信息。
SHOW INDEX FROM table_name;

table_name 替换成您实际要查询的表名。此命令将返回索引名称、非唯一性(Non_unique)、索引类型、键值长度、索引顺序、列名、索引注释等相关信息。

  1. 查询 INFORMATION_SCHEMA.STATISTICS 系统表
    如果您需要以SQL查询的形式获取索引信息,可以查询 information_schema.statistics 表。这是一个提供数据库元数据的系统视图,其中包含了关于索引的详细数据。
SELECT TABLE_NAME, INDEX_NAME, COLUMN_NAME, NON_UNIQUE, INDEX_TYPE
FROM information_schema.statistics
WHERE table_schema = 'your_database_name'
  AND table_name = 'your_table_name';

your_database_name 替换为您的实际数据库名称,将 your_table_name 替换成您要查询的表名。此查询返回的结果与 SHOW INDEX 类似,包括索引名称、是否唯一、索引类型以及关联的列名。

  1. 使用 DESCRIBE (或简写为 DESC) 命令
    虽然不如前两种方法详尽,但 DESCRIBE 命令可以快速查看表的结构,其中包括列的索引信息。
DESCRIBE table_name;

DESC table_name;

结果中会有一列名为 Key,该列标识了各列是否被用作索引以及索引的类型(如 PRIMARY、UNIQUE、INDEX 或 FULLTEXT)。