1.索引類型 UNIQUE(唯一索引):不可以出現相同的值,可以有NULL值; INDEX(普通索引):允許出現相同的索引內容; PROMARY KEY(主鍵索引):不允許出現相同的值; fulltext index(全文索引):可以針對值中的某個單詞,但效率確實不敢恭維; 組合索引:實質上是將多個 ...
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 TABLE或DROP 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