Mysql 索引的创建删除


Mysql 索引的创建删除

索引的类型:

1
2
3
4
5
UNIQUE(唯一索引):不可以出现相同的值,可以有NULL值
INDEX(普通索引):允许出现相同的索引内容
PROMARY KEY(主键索引):不允许出现相同的值
fulltext index(全文索引):可以针对值中的某个单词,但效率确实不敢恭维
组合索引:实质上是将多个字段建到一个索引里,列值的组合必须唯一
  1. 查看索引
1
show index from table_name;
  1. 使用ALTER TABLE语句创建索性
1
2
3
4
5
6
7
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) ;
  1. 使用CREATE INDEX语句对表增加索引
1
CREATE INDEX index_name ON table_name(username(length));

如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是BLOB和TEXT类型,必须指定 length。

1
2
3
//create只能添加这两种索引;
CREATE INDEX index_name ON table_name (column_list)
CREATE UNIQUE INDEX index_name ON table_name (column_list)
  1. 删除索引
1
2
3
4
5
drop index index_name on table_name ;

alter table table_name drop index index_name ;

alter table table_name drop primary key ;