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索引的查詢語句是什麼的詳細內容,更多請關注TW511.COM其它相關文章!