Rumah > Artikel > pangkalan data > Apakah pernyataan pertanyaan bagi mysql index
Pernyataan pertanyaan indeks mysql ialah "SHOW INDEX", yang boleh mengembalikan maklumat indeks yang dikaitkan dengan pangkalan data semasa atau jadual dalam pangkalan data yang ditentukan Sintaks lengkap ialah "SHOW INDEX FROM table name [FROM database name];"; di mana , pilihan "FROM database name" adalah pilihan. Jika ia ditinggalkan, maklumat indeks yang dikaitkan dengan jadual dalam pangkalan data semasa akan dikembalikan. Jika ia tidak ditinggalkan, maklumat indeks jadual dalam pangkalan data yang ditentukan akan dikembalikan.
Persekitaran pengendalian tutorial ini: sistem windows7, versi mysql8, komputer Dell G3.
Selepas penciptaan indeks selesai, anda boleh menggunakan pernyataan SQL untuk melihat indeks sedia ada. Dalam MySQL, anda boleh menggunakan pernyataan SHOW INDEX untuk melihat indeks yang dibuat dalam jadual.
Penyata MySQL SHOW INDEX
Pernyataan SHOW INDEX boleh mengembalikan maklumat indeks yang dikaitkan dengan jadual dalam pangkalan data semasa atau pangkalan data yang ditentukan.
Format sintaks untuk melihat indeks adalah seperti berikut:
SHOW INDEX FROM 表名 [ FROM 数据库名];
Penerangan sintaks adalah seperti berikut:
Nama jadual: Nyatakan keperluan untuk melihat nama jadual data indeks.
Nama pangkalan data: Tentukan pangkalan data di mana jadual data tempat indeks perlu dilihat terletak, yang boleh ditinggalkan. Sebagai contoh, pernyataan SHOW INDEX FROM student FROM test;
bermaksud untuk melihat indeks jadual data pelajar dalam pangkalan data ujian.
Jika anda tidak disambungkan ke mana-mana pangkalan data, atau anda ingin mendapatkan maklumat indeks untuk jadual dalam pangkalan data lain, anda boleh menentukan nama pangkalan data.
SHOW INDEXES mengembalikan maklumat berikut:
参数 | 说明 |
---|---|
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视频教程】
Atas ialah kandungan terperinci Apakah pernyataan pertanyaan bagi mysql index. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!