【數據庫】MySQL如何添加索引


1.使用ALTER TABLE語句創建索性

應用於表創建完畢之后再添加。

1.1語法
ALTER TABLE 表名 ADD 索引類型 (unique,primary key,fulltext,index)[索引名](字段名)
1.2應用
-- 1.添加PRIMARY KEY(主鍵索引):
ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 

-- 2.添加UNIQUE(唯一索引) :
ALTER TABLE `table_name` ADD UNIQUE ( `column` ) 

-- 3.添加INDEX(普通索引) :
ALTER TABLE `table_name` ADD INDEX index_name ( `column` )

-- 4.添加FULLTEXT(全文索引) :
ALTER TABLE `table_name` ADD FULLTEXT ( `column`) 

-- 5.添加多列索引:
ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )
1.3說明
  • ALTER TABLE可用於創建普通索引、UNIQUE索引和PRIMARY KEY索引3種索引格式。

  • 創建多列索引時,各列之間用逗號分隔。

  • 索引名index_name可選,缺省時,MySQL將根據第一個索引列賦一個名稱。

  • ALTER TABLE允許在單個語句中更改多個表,因此可以同時創建多個索引。

2.使用CREATE INDEX語句對表增加索引

用於建表時創建索引,CREATE INDEX可用於對表增加普通索引或唯一索引

2.1語法
CREATE INDEX [索引名] ON [表名](字段名(length)); 

如果是CHAR,VARCHAR類型,length可以小於字段實際長度;如果是BLOB和TEXT類型,必須指定 length。

2.2應用
-- 1.添加普通索引
CREATE INDEX index_name ON `table_name` ( `column` )

-- 2.添加唯一索引
CREATE UNIQUE INDEX index_name ON `table_name` ( `column` )
2.3說明
  • index_name 索引名不可選,必須指定。

  • 不能用CREATE INDEX語句創建PRIMARY KEY索引

3. 索引的類型

  • PROMARY KEY(主鍵索引):不允許出現相同的值
  • UNIQUE(唯一索引):不可以出現相同的值,可以有NULL值
  • INDEX(普通索引):允許出現相同的索引內容
  • FULLTEXT (全文索引):可以針對值中的某個單詞,但效率確實不敢恭維
  • 組合索引:實質上是將多個字段建到一個索引里,列值的組合必須唯一


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM