創建和刪除索引,索引的創建可以在CREATE TABLE語句中進行,也可以單獨用CREATE INDEX或ALTER TABLE來給表增加索引,刪除索引可以利用ALTER TABLE或DROP INDEX語句來實現.
1),使用ALTER TABLE語句創建索引,語法代碼如下:
- 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) ;
其中包括普通索引、UNIQUE索引和PRIMARY KEY索引3種創建索引的格式,table_name是要增加索引的表名,column_list指出對哪些列進行索引,多列時各列之間用逗號分隔,索引 名index_name可選,缺省時,MySQL將根據第一個索引列賦一個名稱,另外,ALTER TABLE允許在單個語句中更改多個表,因此可以同時創建多個索引.
創建索引的示例如下:
- mysql> use tpsc
- Database changed
- mysql> alter table tpsc add index shili (tpmc ) ;
- Query OK, 2 rows affected (0.08 sec)
- Records: 2 Duplicates: 0 Warnings: 0
2),使用CREATE INDEX語句對表增加索引,能夠增加普通索引和UNIQUE索引兩種,其格式如下:
create index index_name on table_name (column_list);
create unique index index_name on table_name (column_list);
說明:table_name、index_name和column_list具有與ALTER TABLE語句中相同的含義,索引名不可選,另外,不能用CREATE INDEX語句創建PRIMARY KEY索引.
3),刪除索引.
刪除索引可以使用ALTER TABLE或DROP INDEX語句來實現,DROP INDEX可以在ALTER TABLE內部作為一條語句處理,其格式如下:
- drop index index_name on table_name ;
- alter table table_name drop index index_name ;
- alter table table_name drop primary key ;
其中,在前面的兩條語句中,都刪除了table_name中的索引index_name,而在最后一條語句中,只在刪除PRIMARY KEY索引中使用,因為一個表只可能有一個PRIMARY KEY索引,因此不需要指定索引名,如果沒有創建PRIMARY KEY索引,但表具有一個或多個UNIQUE索引,則MySQL將刪除第一個UNIQUE索引.
如果從表中刪除某列,則索引會受影響,對于多列組合的索引,如果刪除其中的某列,則該列也會從索引中刪除,如果刪除組成索引的所有列,則整個索引將被刪除.
刪除索引的操作,如下面的代碼:
- mysql> drop index shili on tpsc ;
- Query OK, 2 rows affected (0.08 sec)
- Records: 2 Duplicates: 0 Warnings: 0
- //開源代碼Vevb.com
新聞熱點
疑難解答