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 (全文索引):可以針對值中的某個單詞,但效率確實不敢恭維
- 組合索引:實質上是將多個字段建到一個索引里,列值的組合必須唯一