共計(jì) 1970 個(gè)字符,預(yù)計(jì)需要花費(fèi) 5 分鐘才能閱讀完成。
這篇文章主要介紹“mysql 索引的查詢語句怎么寫”,在日常操作中,相信很多人在 mysql 索引的查詢語句怎么寫問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”mysql 索引的查詢語句怎么寫”的疑惑有所幫助!接下來,請(qǐng)跟著丸趣 TV 小編一起來學(xué)習(xí)吧!
mysql 索引的查詢語句是“SHOW INDEX”,可以返回與當(dāng)前數(shù)據(jù)庫或指定數(shù)據(jù)庫中的表關(guān)聯(lián)的索引信息,完整語法“SHOW INDEX FROM 表名 [FROM 數(shù)據(jù)庫名];”;其中,“FROM 數(shù)據(jù)庫名”選項(xiàng)是可選的,省略則返回當(dāng)前數(shù)據(jù)庫中表關(guān)聯(lián)的索引信息,若不省略則返回指定數(shù)據(jù)庫中表的索引信息。
本教程操作環(huán)境:windows7 系統(tǒng)、mysql8 版本、Dell G3 電腦。
索引創(chuàng)建完成后,可以利用 SQL 語句查看已經(jīng)存在的索引。在 MySQL 中,可以使用 SHOW INDEX 語句查看表中創(chuàng)建的索引。
MySQL SHOW INDEX 語句
SHOW INDEX 語句可以返回與當(dāng)前數(shù)據(jù)庫或指定數(shù)據(jù)庫中的表關(guān)聯(lián)的索引信息。
查看索引的語法格式如下:
SHOW INDEX FROM 表名 [ FROM 數(shù)據(jù)庫名];
語法說明如下:
表名:指定需要查看索引的數(shù)據(jù)表名。
數(shù)據(jù)庫名:指定需要查看索引的數(shù)據(jù)表所在的數(shù)據(jù)庫,可省略。比如,SHOW INDEX FROM student FROM test; 語句表示查看 test 數(shù)據(jù)庫中 student 數(shù)據(jù)表的索引。
如果未連接到任何數(shù)據(jù)庫,或者要獲取其他數(shù)據(jù)庫中表的索引信息,則可以指定數(shù)據(jù)庫名稱。
將 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 按名字和姓氏
);
以下命令返回表中的所有索引信息 contacts:
SHOW INDEXES FROM contacts;
到此,關(guān)于“mysql 索引的查詢語句怎么寫”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注丸趣 TV 網(wǎng)站,丸趣 TV 小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!