MySQL 显示索引2025年3月17日 | 阅读 3 分钟 我们可以使用 Show Indexes 语句来获取表的索引信息。该语句可以这样写: 在上面的语法中,我们可以看到,如果我们想获取表的索引,需要在 FROM 关键字后面指定 table_name。成功执行语句后,它将在当前数据库中返回表的索引信息。 如果我们想获取不同数据库中的表索引信息,或者要获取当前未连接的数据库的索引信息,MySQL 允许我们在 Show Indexes 语句中指定数据库名称。以下语句解释得更清楚: 上面的语句也可以写成: 注意:请注意,Index 和 Keys 都是 Indexes 的同义词,IN 是 FROM 关键字的同义词。因此,我们也可以使用这些同义词来编写 Show Indexes 语句,如下所示:或, SHOW INDEX 查询返回以下字段/信息: Table: 包含表的名称。 Non_unique: 如果索引包含重复项,则返回 1。否则,返回 0。 Key_name: 索引的名称。如果表包含主键,则索引名称始终为 PRIMARY。 Seq_in_index: 索引中列的序列号,从 1 开始。 Column_name: 包含列的名称。 Collation: 提供有关列在索引中如何排序的信息。它包含值,其中 A 表示升序,D 表示降序,Null 表示未排序。 Cardinality: 提供索引表中唯一值的估计数量,较高的基数表示 MySQL 使用索引的可能性更大。 Sub_part: 索引的前缀。如果表的所有列都已索引,则它具有 NULL 值。当列被部分索引时,它将返回被索引字符的数量。 Packed: 指示键是如何打包的。否则,它返回 NULL。 NULL: 如果列没有 NULL 值,则包含 空格;否则,返回 YES。 Index_type: 包含索引方法的名称,如 BTREE、HASH、RTREE、FULLTEXT 等。 Comment: 当索引信息未在其列中描述时,它会包含索引信息。例如,当索引被禁用时,它会返回 disabled。 Index_column: 当您使用 comment 属性创建索引时,它包含指定索引的注释。 Visible: 如果索引对查询优化器可见,则包含 YES;否则,包含 NO。 Expression: MySQL 8.0 支持 函数键部分,它们会影响 expression 和 column_name 列。我们可以通过以下几点更清楚地理解它:
MySQL SHOW INDEX 示例在这里,我们将创建一个名为 student_info 的表,该表包含学生 ID、姓名、年龄、手机号码和电子邮件详细信息。执行以下命令来创建表: 接下来,我们通过以下命令在此表上创建索引: 现在,执行以下命令,它将返回 student_info 表的所有索引信息: 我们将获得以下输出: 过滤索引信息我们可以使用 where 子句 来过滤索引信息。可以使用以下语句来过滤索引信息: 示例如果您只想获取 student_info 表的 不可见 索引,请执行以下命令: 它将提供以下输出 |
我们请求您订阅我们的新闻通讯以获取最新更新。