mysql修改索引類型的方法:1、使用「DROP INDEX 索引名ON 表名;」語句刪除掉原指定索引;2、使用「CREATE 索引類型關鍵字INDEX 索引名ON 表名(列名[長度])”語句建立一個同名的索引即可進行修改型別。
本教學操作環境:windows7系統、mysql8版本、Dell G3電腦。
在MySQL中並沒有提供修改索引的直接指令,一般情況下,我們需要先刪除掉原索引,再根據需要建立一個同名的索引,從而變相地實現修改索引操作。
mysql修改索引類型
#1、刪除原始索引
當不再需要索引時,可以使用DROP INDEX 語句來對索引進行刪除。
語法格式:
DROP INDEX <索引名> ON <表名>
語法說明如下:
#:要刪除的索引名稱。
:指定該索引所在的表名。
範例:
tb_stu_info2 資料表的索引資訊
從輸出結果可以看出:“Key_name: height”--索引的名稱為“height”,“Index_type: BTREE”-索引使用的類型為“BTREE”
刪除表tb_stu_info2 中的索引height
DROP INDEX height ON tb_stu_info2;
2、建立一個同名的索引
可以使用專門用於建立索引的CREATE INDEX 語句在一個已有的表上建立索引,但該語句不能建立主鍵。
語法格式:
CREATE <索引名> INDEX ON <表名> (<列名> [<长度>] [ ASC | DESC])
語法說明如下:
#:指定索引名。一個表可以建立多個索引,但每個索引在該表中的名稱是唯一的。
:指定要建立索引的表名。
:指定要建立索引的列名。通常可以考慮將查詢語句中在 JOIN 子句和 WHERE 子句中經常出現的欄位作為索引列。
:可選項。指定使用列前的 length 個字元來建立索引。使用列的一部分建立索引有利於減少索引檔案的大小,節省索引列所佔的空間。在某些情況下,只能對列的前綴進行索引。索引列的長度有一個最大上限 255 個位元組(MyISAM 和 InnoDB 表的最大上限為 1000 個位元組),如果索引列的長度超過了這個上限,就只能用列的前綴進行索引。另外,BLOB 或 TEXT 類型的欄位也必須使用前綴索引。
ASC|DESC:可選項。 ASC指定索引依照升序來排列,DESC指定索引依照降序來排列,預設為ASC。
範例:
建立普通索引
CREATE INDEX height ON tb_stu_info2 (height(8));
建立唯一索引時,通常會使用UNIQUE 關鍵字。
CREATE UNIQUE INDEX height ON tb_stu_info2 (height(8));
擴充知識:
MySQL中的索引類型有以下幾個
mysql影片教學】
以上是mysql怎麼修改索引類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!