mysql索引的查詢語(yǔ)句是什么

mysql索引的查詢語(yǔ)句是“SHOW INDEX”,可以返回與當(dāng)前數(shù)據(jù)庫(kù)或指定數(shù)據(jù)庫(kù)中的表關(guān)聯(lián)的索引信息,完整語(yǔ)法“SHOW INDEX FROM 表名 [FROM 數(shù)據(jù)庫(kù)名];”;其中,“FROM 數(shù)據(jù)庫(kù)名”選項(xiàng)是可選的,省略則返回當(dāng)前數(shù)據(jù)庫(kù)中表關(guān)聯(lián)的索引信息,若不省略則返回指定數(shù)據(jù)庫(kù)中表的索引信息。

mysql索引的查詢語(yǔ)句是什么

本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。

索引創(chuàng)建完成后,可以利用 SQL 語(yǔ)句查看已經(jīng)存在的索引。在?MySQL?中,可以使用 SHOW INDEX 語(yǔ)句查看表中創(chuàng)建的索引。

MySQL?SHOW INDEX 語(yǔ)句

SHOW INDEX 語(yǔ)句可以返回與當(dāng)前數(shù)據(jù)庫(kù)或指定數(shù)據(jù)庫(kù)中的表關(guān)聯(lián)的索引信息。

查看索引的語(yǔ)法格式如下:

SHOW?INDEX?FROM?表名?[?FROM?數(shù)據(jù)庫(kù)名];

語(yǔ)法說明如下:

  • 表名:指定需要查看索引的數(shù)據(jù)表名。

  • 數(shù)據(jù)庫(kù)名:指定需要查看索引的數(shù)據(jù)表所在的數(shù)據(jù)庫(kù),可省略。比如,SHOW INDEX FROM student FROM test; 語(yǔ)句表示查看 test 數(shù)據(jù)庫(kù)中 student 數(shù)據(jù)表的索引。

    如果未連接到任何數(shù)據(jù)庫(kù),或者要獲取其他數(shù)據(jù)庫(kù)中表的索引信息,則可以指定數(shù)據(jù)庫(kù)名稱。

將SHOW INDEXES返回以下信息:

? ? ? ? ? ? ? ? 參數(shù) ? ? ? ? ? ? ? ? 說明
? ? ? ? ? ? ? ? Table ? ? ? ? ? ? ? ? 表示創(chuàng)建索引的數(shù)據(jù)表名,這里是 tb_stu_info2 數(shù)據(jù)表。
? ? ? ? ? ? ? ? Non_unique ? ? ? ? ? ? ? ? 表示該索引是否是唯一索引。若不是唯一索引,則該列的值為 1;若是唯一索引,則該列的值為 0。
? ? ? ? ? ? ? ? Key_name ? ? ? ? ? ? ? ? 表示索引的名稱。
? ? ? ? ? ? ? ? Seq_in_index ? ? ? ? ? ? ? ? 表示該列在索引中的位置,如果索引是單列的,則該列的值為 1;如果索引是組合索引,則該列的值為每列在索引定義中的順序。
? ? ? ? ? ? ? ? Column_name ? ? ? ? ? ? ? ? 表示定義索引的列字段。
? ? ? ? ? ? ? ? Collation ? ? ? ? ? ? ? ? 表示列以何種順序存儲(chǔ)在索引中。在 MySQL 中,升序顯示值“A”(升序),若顯示為 NULL,則表示無分類。
? ? ? ? ? ? ? ? Cardinality ? ? ? ? ? ? ? ? 索引中唯一值數(shù)目的估計(jì)值。基數(shù)根據(jù)被存儲(chǔ)為整數(shù)的統(tǒng)計(jì)數(shù)據(jù)計(jì)數(shù),所以即使對(duì)于小型表,該值也沒有必要是精確的。基數(shù)越大,當(dāng)進(jìn)行聯(lián)合時(shí),MySQL 使用該索引的機(jī)會(huì)就越大。
? ? ? ? ? ? ? ? Sub_part ? ? ? ? ? ? ? ? 表示列中被編入索引的字符的數(shù)量。若列只是部分被編入索引,則該列的值為被編入索引的字符的數(shù)目;若整列被編入索引,則該列的值為 NULL。
? ? ? ? ? ? ? ? Packed ? ? ? ? ? ? ? ? 指示關(guān)鍵字如何被壓縮。若沒有被壓縮,值為 NULL。
? ? ? ? ? ? ? ? Null ? ? ? ? ? ? ? ? 用于顯示索引列中是否包含 NULL。若列含有 NULL,該列的值為 YES。若沒有,則該列的值為 NO。
? ? ? ? ? ? ? ? Index_type ? ? ? ? ? ? ? ? 顯示索引使用的類型和方法(BTREE、FULLTEXT、HASH、RTREE)。
? ? ? ? ? ? ? ? Comment ? ? ? ? ? ? ? ? 顯示評(píng)注。

過濾索引信息

要過濾索引信息,請(qǐng)使用以下WHERE子句:

SHOW?INDEXES?FROM?table_name WHERE?condition;

MySQL的SHOW INDEXES例子

我們將創(chuàng)建一個(gè)新表名為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?'按名字和姓氏' );

mysql索引的查詢語(yǔ)句是什么

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

SHOW?INDEXES?FROM?contacts;

mysql索引的查詢語(yǔ)句是什么

【相關(guān)推薦:mysql視頻教程

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊5 分享