《MYSQL教程MySQL中對于索引的基本增刪查改操作總結》要點:
本文介紹了MYSQL教程MySQL中對于索引的基本增刪查改操作總結,希望對您有用。如果有疑問,可以聯系我們。
MYSQL入門創建索引
MYSQL入門MySQL創建索引的語法如下:
MYSQL入門
CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name
[USING index_type]
ON table_name (index_col_name,...)
MYSQL入門其中對應的語法變量信息如下:
MYSQL入門[UNIQUE|FULLTEXT|SPATIAL]
中括號中的這三個關鍵字表示創建的索引類型,它們分別表示唯一索引、全文索引、空間索引三種不同的索引類型.如果我們不指定任何關鍵字,則默認為普通索引.
index_name
index_name表示索引的名稱,由用戶自行定義,以便于以后對該索引進行修改等管理操作.
index_type
index_type表示索引的具體實現方式,在MySQL中,有兩種不同形式的索引――BTREE索引和HASH索引.在存儲引擎為MyISAM和InnoDB的表中只能使用BTREE,其默認值就是BTREE;在存儲引擎為MEMORY或者HEAP的表中可以使用HASH和BTREE兩種類型的索引,其默認值為HASH.
index_col_name
index_col_name表示需要創建索引的字段名稱,我們還可以針對多個字段創建復合索引,只需要在多個字段名稱之間以英文逗號隔開即可.
此外,對于CHAR或VARCHAR類型的字段,我們還可以只使用字段內容前面的一部分來創建索引,只需要在對應的字段名稱后面加上形如(length)的指令即可,表示只需要使用字段內容前面的length個字符來創建索引.在這里,我們以User表的username字段(類型為VARCHAR(50))為例,使用username字段的6個字符前綴來創建索引.
MYSQL入門
CREATE INDEX idx_user_username ON user (username(6));
MYSQL入門由于多數字段的前6個字符通常不同,所以此索引不會比使用字段的全部內容創建的索引速度慢很多.另外,使用字段的一部分創建索引可以使索引文件大大減小,從而節省了大量的磁盤空間,有可能提高INSERT操作的速度.
MYSQL入門在MySQL中,前綴長度最大值為255字節.對于存儲引擎為MyISAM或InnoDB的數據表,前綴最長為1000字節.
MYSQL入門必需注意的是,在MySQL中,對于TEXT和BLOB這種大數據類型的字段,必需給出前綴長度(length)才能成功創建索引.
MYSQL入門備注1:上述創建索引的語法還具有以下變體:
MYSQL入門
ALTER TABLE table_name
ADD [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name (index_col_name,...) [USING index_type]
MYSQL入門備注2:在MySQL中,只有當數據表的存儲引擎為MyISAM, InnoDB或BDB類型時,你才能向具有NULL值的列或者數據類型為TEXT或BLOB的列添加索引.
MYSQL入門刪除索引
MYSQL入門在MySQL中刪除索引的辦法非常簡單,其完整語法如下:
MYSQL入門
--刪除指定表中指定名稱的索引
ALTER TABLE table_name
DROP INDEX index_name;
MYSQL入門在這里,我們編寫SQL語句將上面創建索引的例子中的索引idx_user_username刪除掉,代碼詳情如下:
MYSQL入門
--刪除名稱為idx_user_username的索引
ALTER TABLE user
DROP INDEX idx_user_username;
MYSQL入門修改索引
MYSQL入門在MySQL中并沒有提供修改索引的直接指令,一般情況下,我們需要先刪除掉原索引,再根據需要創建一個同名的索引,從而變相地實現修改索引操作.
MYSQL入門
--先刪除
ALTER TABLE user
DROP INDEX idx_user_username;
--再以修改后的內容創建同名索引
CREATE INDEX idx_user_username ON user (username(8));
MYSQL入門查看索引
MYSQL入門在MySQL中,要查看某個數據庫表中的索引也非常簡單,只需要使用以下兩個命令中的任意一種即可.
MYSQL入門
--如果查看索引前,沒有使用user db_name等命令指定具體的數據庫,則必需加上FROM db_name
SHOW INDEX FROM table_name [FROM db_name]
--如果查看索引前,沒有使用user db_name等命令指定具體的數據庫,則必需加上db_name.前綴
SHOW INDEX FROM [db_name.]table_name
《MYSQL教程MySQL中對于索引的基本增刪查改操作總結》是否對您有啟發,歡迎查看更多與《MYSQL教程MySQL中對于索引的基本增刪查改操作總結》相關教程,學精學透。維易PHP學院為您提供精彩教程。