程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL索引操作命令詳解

MySQL索引操作命令詳解

編輯:MySQL綜合教程

MySQL索引操作命令詳解。本站提示廣大學習愛好者:(MySQL索引操作命令詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL索引操作命令詳解正文


創立索引:

MySql創立索引的語法如下:

CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name [USING index_type] ON table_name (index_col_name,...)

其中對應的語法變量信息如下:
[UNIQUE|FULLTEXT|SPATIAL]:中括號中的三個關鍵字表示創立的索引類型,他們辨別表示獨一索引、全文索引、空間索引三種不同的索引類型。假如我們不指定任何關鍵字,則默許為普通索引。

index_name:表示索引的名字,由用戶自行定義,以便當前對該索引停止修正管理操作。

index_type:表示索引的詳細完成方式,在MySql中,有兩種不同方式的索引----BTREE索引和HASH索引。在存儲引擎為MYISAM和INNODB的表中只能運用BTREE,其默許值就是BTREE;在存儲引擎為MEMORY或許HEAP的表中可以運用HASH和BTREE兩品種型的索引,其默許值是HASH。

index_col_name:表示需求創立索引的字段稱號,我們還可以針對多個字段創立復合索引,只需求在多個字段稱號之間以英文逗號隔開即可。

此外,關於char或varchar類型的字段,我們還可以只運用字段內容後面的一局部來創立索引,只需求在對應的字段前面加上形如(length)的指令即可,表示只需求運用字段內容後面的length個字符來創立索引。

CREATE INDEX idx_user_username ON user (username(6));

由於少數字段的前6個字符通常不同,所以此索引不會比運用字段的全部內容創立的索引速度慢很多。另外,運用字段的一局部創立索引可以使索引文件大大減小,從而節省了少量的磁盤空間,有能夠進步INSERT操作的速度。

必需留意的是:在MySql中,對已TEXT和BLOG這種大數據類型的字段,必需給出前綴長度(length)才干成功創立索引。

上述創立索引的語法還具有以下變體:

ALTER TABLE table_name ADD [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name (index_col_name,...) [USING index_type]

在MySql中,只要當表的存儲引擎為MYISAM,INNODB和BDB類型時,你才干向具有NULL值的列或許數據類型為TEXT或BLOB的列添加索引。

刪除索引:
在MySql中刪除索引的辦法十分復雜,其完好語法如下:

ALTER TABLE table_name DROP INDEX index_name;

修正索引:

在MySql中並沒有提供修正索引的直接指令,普通狀況下,我們先刪除原索引,再依據需求創立一個同名的索引,從而變相地完成修正索引的操作。

//先刪除索引
ALTER TABLE table_name DROP INDEX index_name;
//創立同名的索引
CREATE INDEX index_name ON table_name (index_col_name,...);

檢查索引:

在MySql中,要檢查某個數據庫表中的索引頁十分復雜,只需求運用以下兩個命令中的恣意一種即可:

SHOW INDEX FROM table_name [FROM db_name];

SHOW INDEX FROM [db_name.]table_name;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved