您好,登錄后才能下訂單哦!
本文小編為大家詳細(xì)介紹“mysql如何修改索引類型”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“mysql如何修改索引類型”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。
mysql修改索引類型的方法:1、使用“DROP INDEX 索引名 ON 表名;”語句刪除掉原指定索引;2、使用“CREATE 索引類型關(guān)鍵字 INDEX 索引名 ON 表名 (列名 [長度])”語句創(chuàng)建一個(gè)同名的索引即可進(jìn)行修改類型。
本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。
在MySQL中并沒有提供修改索引的直接指令,一般情況下,我們需要先刪除掉原索引,再根據(jù)需要?jiǎng)?chuàng)建一個(gè)同名的索引,從而變相地實(shí)現(xiàn)修改索引操作。
mysql修改索引類型
1、刪除原索引
當(dāng)不再需要索引時(shí),可以使用 DROP INDEX 語句來對索引進(jìn)行刪除。
語法格式:
DROP INDEX <索引名> ON <表名>
語法說明如下:
<索引名>:要?jiǎng)h除的索引名。
<表名>:指定該索引所在的表名。
示例:
tb_stu_info2 數(shù)據(jù)表的索引信息
從輸出結(jié)果可以看出:“Key_name: height”--索引的名稱為“height”,“Index_type: BTREE”-索引使用的類型為“BTREE”
刪除表 tb_stu_info2 中的索引height
DROP INDEX height ON tb_stu_info2;
2、創(chuàng)建一個(gè)同名的索引
可以使用專門用于創(chuàng)建索引的 CREATE INDEX 語句在一個(gè)已有的表上創(chuàng)建索引,但該語句不能創(chuàng)建主鍵。
語法格式:
CREATE <索引名> INDEX ON <表名> (<列名> [<長度>] [ ASC | DESC])
語法說明如下:
<索引名>:指定索引名。一個(gè)表可以創(chuàng)建多個(gè)索引,但每個(gè)索引在該表中的名稱是唯一的。
<表名>:指定要?jiǎng)?chuàng)建索引的表名。
<列名>:指定要?jiǎng)?chuàng)建索引的列名。通??梢钥紤]將查詢語句中在 JOIN 子句和 WHERE 子句里經(jīng)常出現(xiàn)的列作為索引列。
<長度>:可選項(xiàng)。指定使用列前的 length 個(gè)字符來創(chuàng)建索引。使用列的一部分創(chuàng)建索引有利于減小索引文件的大小,節(jié)省索引列所占的空間。在某些情況下,只能對列的前綴進(jìn)行索引。索引列的長度有一個(gè)最大上限 255 個(gè)字節(jié)(MyISAM 和 InnoDB 表的最大上限為 1000 個(gè)字節(jié)),如果索引列的長度超過了這個(gè)上限,就只能用列的前綴進(jìn)行索引。另外,BLOB 或 TEXT 類型的列也必須使用前綴索引。
ASC|DESC:可選項(xiàng)。ASC指定索引按照升序來排列,DESC指定索引按照降序來排列,默認(rèn)為ASC。
示例:
創(chuàng)建普通索引
CREATE INDEX height ON tb_stu_info2 (height(8));
創(chuàng)建唯一索引時(shí),通常使用 UNIQUE 關(guān)鍵字。
CREATE UNIQUE INDEX height ON tb_stu_info2 (height(8));
讀到這里,這篇“mysql如何修改索引類型”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。