MySQL添加、刪除索引


1.索引類型

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

2. 用 alter table 語句創建索引

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

  • alter table 可用於創建普通索引UNIQUE索引PRIMARY KEY索引3種索引格式,
  • table_name是要增加索引的表名,
  • column_list指出對哪些列進行索引,多列時各列之間用逗號分隔。
  • 索引名index_name可選,缺省時,MySQL將根據第一個索引列賦一個名稱。
  • 另外,ALTER TABLE允許在單個語句中更改多個表,因此可以同時創建多個索引。
 ALTER TABLE 表名 ADD 索引類型 (unique,primary key,fulltext,index[索引名](字段名);
-- 普通索引
alter table table_name add index index_name (column_list) ;
-- 唯一索引
alter table table_name add unique (column_list) ;
-- 主鍵索引
alter table table_name add primary key (column_list) ;

3.用 create index 語句創建索引

  • CREATE INDEX可用於對表增加普通索引或UNIQUE索引,可用於建表時創建索引
  • 如果是CHAR,VARCHAR類型,length可以小於字段實際長度;
  • 如果是BLOB和TEXT類型,必須指定 length
CREATE INDEX index_name ON table_name(username(length)); 
--  create只能添加這兩種索引;
CREATE INDEX index_name ON table_name (column_list)
CREATE UNIQUE INDEX index_name ON table_name (column_list)

4.刪除索引

刪除索引可以使用ALTER TABLEDROP INDEX語句來實現;

drop index index_name on table_name ;

alter table table_name drop index index_name ;

alter table table_name drop primary key ;

 

參考文章:

https://www.cnblogs.com/zz-tt/p/6609828.html


免責聲明!

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



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