mysql索引的查询语句是“SHOW INDEX”,可以返回与当前数据库或指定数据库中的表关联的索引信息,完整语法“SHOW INDEX FROM 表名 [FROM 数据库名];”;其中,“FROM 数据库名”选项是可选的,省略则返回当前数据库中表关联的索引信息,若不省略则返回指定数据库中表的索引信息。

本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。
索引创建完成后,可以利用 SQL 语句查看已经存在的索引。在 MySQL 中,可以使用 SHOW INDEX 语句查看表中创建的索引。
MySQL SHOW INDEX 语句
SHOW INDEX 语句可以返回与当前数据库或指定数据库中的表关联的索引信息。
查看索引的语法格式如下:
SHOW INDEX FROM 表名 [ FROM 数据库名];
语法说明如下:
表名:指定需要查看索引的数据表名。
数据库名:指定需要查看索引的数据表所在的数据库,可省略。比如,SHOW INDEX FROM student FROM test;语句表示查看 test 数据库中 student 数据表的索引。
如果未连接到任何数据库,或者要获取其他数据库中表的索引信息,则可以指定数据库名称。
将SHOW INDEXES返回以下信息:
| 参数 | 说明 |
|---|---|
| Table | 表示创建索引的数据表名,这里是 tb_stu_info2 数据表。 |
| Non_unique | 表示该索引是否是唯一索引。若不是唯一索引,则该列的值为 1;若是唯一索引,则该列的值为 0。 |
| Key_name | 表示索引的名称。 |
| Seq_in_index | 表示该列在索引中的位置,如果索引是单列的,则该列的值为 1;如果索引是组合索引,则该列的值为每列在索引定义中的顺序。 |
| Column_name | 表示定义索引的列字段。 |
| Collation | 表示列以何种顺序存储在索引中。在 MySQL 中,升序显示值“A”(升序),若显示为 NULL,则表示无分类。 |
| Cardinality | 索引中唯一值数目的估计值。基数根据被存储为整数的统计数据计数,所以即使对于小型表,该值也没有必要是精确的。基数越大,当进行联合时,MySQL 使用该索引的机会就越大。 |
| Sub_part | 表示列中被编入索引的字符的数量。若列只是部分被编入索引,则该列的值为被编入索引的字符的数目;若整列被编入索引,则该列的值为 NULL。 |
| Packed | 指示关键字如何被压缩。若没有被压缩,值为 NULL。 |
| Null | 用于显示索引列中是否包含 NULL。若列含有 NULL,该列的值为 YES。若没有,则该列的值为 NO。 |
| Index_type | 显示索引使用的类型和方法(BTREE、FULLTEXT、HASH、RTREE)。 |
| Comment | 显示评注。 |
过滤索引信息
要过滤索引信息,请使用以下WHERE子句:
SHOW INDEXES FROM table_name WHERE condition;
MySQL的SHOW INDEXES例子
我们将创建一个新表名为contacts演示SHOW INDEXES命令:
CREATE TABLE contacts( contact_id int AUTO_INCREMENT, first_name VARCHAR(100) NOT NULL, last_name VARCHAR(100) NOT NULL, email VARCHAR(100), phone VARCHAR(20), PRIMARY KEY(contact_id), UNIQUE(email), INDEX phone(phone), INDEX name(first_name,last_name) comment '按名字和姓氏' );

以下命令返回表中的所有索引信息contacts:
SHOW INDEXES FROM contacts;

【相关推荐:mysql视频教程】
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
mysql modifier le nom de la table de données
MySQL crée une procédure stockée
La différence entre MongoDB et MySQL
Comment vérifier si le mot de passe MySQL est oublié
mysql créer une base de données
niveau d'isolement des transactions par défaut de MySQL
La différence entre sqlserver et mysql
mysqlmot de passe oublié