mysql的index關鍵字怎么使用

蝸牛 互聯網技術資訊 2022-03-02 14 0

這篇文章主要講解了“mysql的index關鍵字怎么使用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“mysql的index關鍵字怎么使用”吧!

在mysql中,index關鍵字可用于創建索引,語法“CREATE INDEX 索引名 ON 表名(列名)”;可用于查看索引,語法“SHOW INDEX FROM 表名”;也可用于修改索引,語法“DROP INDEX 索引名 ON 表名”。

本教程操作環境:windows7系統、mysql8版本、Dell G3電腦。

在mysql中,index指的是索引,是一種特殊的數據庫結構,由數據表中的一列或多列組合而成,可以用來快速查詢數據表中有某一特定值的記錄。

index關鍵字可以用于創建索引,也可用于查看索引,也可用于修改索引。

index關鍵字創建索引

可以使用專門用于創建索引的 CREATE INDEX 語句在一個已有的表上創建索引,但該語句不能創建主鍵。

CREATE?INDEX?索引名?ON?表名?(列名?[長度]?[ASC|DESC])
  • <索引名>:指定索引名。一個表可以創建多個索引,但每個索引在該表中的名稱是唯一的。

  • <表名>:指定要創建索引的表名。

  • <列名>:指定要創建索引的列名。通??梢钥紤]將查詢語句中在 JOIN 子句和 WHERE 子句里經常出現的列作為索引列。

  • <長度>:可選項。指定使用列前的 length 個字符來創建索引。使用列的一部分創建索引有利于減小索引文件的大小,節省索引列所占的空間。在某些情況下,只能對列的前綴進行索引。索引列的長度有一個最大上限 255 個字節(MyISAM 和 InnoDB 表的最大上限為 1000 個字節),如果索引列的長度超過了這個上限,就只能用列的前綴進行索引。另外,BLOB 或 TEXT 類型的列也必須使用前綴索引。

  • ASC|DESC:可選項。ASC指定索引按照升序來排列,DESC指定索引按照降序來排列,默認為ASC。

例如,要為列c4添加新索引,請使用以下語句:

CREATE?INDEX?idx_c4?ON?t(c4);

默認情況下,如果未指定索引類型,MySQL將創建B-Tree索引。

index關鍵字查看索引

SHOW?INDEX?FROM?表名?[FROM?數據庫名]

語法說明如下:

  • <表名>:指定需要查看索引的數據表名。

  • <數據庫名>:指定需要查看索引的數據表所在的數據庫,可省略。比如,SHOW INDEX FROM student FROM test; 語句表示查看 test 數據庫中 student 數據表的索引。

示例:

mysql>?SHOW?INDEX?FROM?tb_stu_info2\G
***************************?1.?row?***************************
????????Table:?tb_stu_info2
???Non_unique:?0
?????Key_name:?height
?Seq_in_index:?1
??Column_name:?height
????Collation:?A
??Cardinality:?0
?????Sub_part:?NULL
???????Packed:?NULL
?????????Null:?YES
???Index_type:?BTREE
??????Comment:
Index_comment:
1?row?in?set?(0.03?sec)

其中各主要參數說明如下:

參數 說明
Table 表示創建索引的數據表名,這里是 tb_stu_info2 數據表。
Non_unique 表示該索引是否是唯一索引。若不是唯一索引,則該列的值為 1;若是唯一索引,則該列的值為 0。
Key_name 表示索引的名稱。
Seq_in_index 表示該列在索引中的位置,如果索引是單列的,則該列的值為 1;如果索引是組合索引,則該列的值為每列在索引定義中的順序。
Column_name 表示定義索引的列字段。
Collation 表示列以何種順序存儲在索引中。在 MySQL 中,升序顯示值“A”(升序),若顯示為 NULL,則表示無分類。
Cardinality 索引中唯一值數目的估計值?;鶖蹈鶕淮鎯檎麛档慕y計數據計數,所以即使對于小型表,該值也沒有必要是精確的?;鶖翟酱?,當進行聯合時,MySQL 使用該索引的機會就越大。
Sub_part 表示列中被編入索引的字符的數量。若列只是部分被編入索引,則該列的值為被編入索引的字符的數目;若整列被編入索引,則該列的值為 NULL。
Packed 指示關鍵字如何被壓縮。若沒有被壓縮,值為 NULL。
Null 用于顯示索引列中是否包含 NULL。若列含有 NULL,該列的值為 YES。若沒有,則該列的值為 NO。
Index_type 顯示索引使用的類型和方法(BTREE、FULLTEXT、HASH、RTREE)。
Comment 顯示評注。

index關鍵字修改索引

DROP?INDEX?<索引名>?ON?<表名>

語法說明如下:

  • <索引名>:要刪除的索引名。

  • <表名>:指定該索引所在的表名。

說明:

在 MySQL 中修改索引可以通過刪除原索引,再根據需要創建一個同名的索引,從而實現修改索引的操作。

感謝各位的閱讀,以上就是“mysql的index關鍵字怎么使用”的內容了,經過本文的學習后,相信大家對mysql的index關鍵字怎么使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是蝸牛博客,小編將為大家推送更多相關知識點的文章,歡迎關注!

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:niceseo99@gmail.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

評論

日本韩欧美一级A片在线观看