索引的建立可以在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> alter table table_test add index index_test1(name) ;
query ok, 2 rows affected (0.08 sec)
(2)使用create index語句對錶增加索引。
能夠增加普通索引和unique索引兩種。其格式如下:
create index index_name on table_name (column_list) ;
create unique index index_name on table_name (column_list) ;
建立索引的示例如下:
mysql>create index index_test2 on table_test(age);
query ok, 2 rows affected (0.08 sec)
說明: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 name on table_test ;
query ok, 2 rows affected (0.08 sec)
mysql 建立索引和刪除索引
索引的建立可以在create table語句中進行,也可以單獨用create index或alter table來給表增加索引。刪除索引可以利用alter table或drop index語句來實現。1 使用alter table語句建立索引。語法如下 alter table table name ...
mysql 建立索引和刪除索引
索引的建立可以在create table語句中進行,也可以單獨用create index或alter table來給表增加索引。刪除索引可以利用alter table或drop index語句來實現。1 使用alter table語句建立索引。語法如下 alter table table name ...
mysql 建立索引,刪除索引,檢視索引
索引可以提高資料的檢索效率,也可以降低資料庫的io成本,並且索引還可以降低資料庫的排序成本。排序分組操作主要消耗的就是cpu資源和記憶體,所以能夠在排序分組操作中好好的利用索引將會極大地降低cpu資源的消耗。如何判定是否需要建立索引?1 較頻繁地作為查詢條件的字段 這個都知道。什麼是教頻繁呢?分析你...