MySQL创建和删除索引的语法

(1)使用alter table语句创建索引。
语法如下:
alter table 表名 add index 索引名 (字段名) ;创建普通索引
alter table 表名 add unique 索引名 (字段名) ;创建唯一索引

alter table 表名 add primary key  (字段名) ;创建主键索引

(2)使用create index语句对表增加索引。

create index 索引名 on 表名(字段名) ;创建普通索引
create unique index 索引名 on 表名(字段名) ;创建唯一索引

注意:不能用create index语句创建primary key索引。

但可以在创建表的时候就指定主键索引,如:

CREATE TABLE mytable(   ID INT NOT NULL,    username VARCHAR(16) NOT NULL,   PRIMARY KEY(ID)   );

(3)删除索引。

drop index 索引名 on 表名 ;
alter table 表名 drop index 索引名 ;
alter table表名 drop primary key ;这条语句只在删除PRIMARY KEY索引中使用,因为一个表只可能有一个PRIMARY KEY索引,因此不需要指定索引名

(4)组合索引

alter table 表名 add index 索引名(字段1,字段2,字段3);

建立这样的组合索引,其实是相当于分别建立了下面三组组合索引:

第一组:字段1,字段2,字段3;

第二组:字段1,字段2;

第三组:字段1;

为什么没有字段2,字段3这样的组合呢?这是因为MySQL组合索引“最左前缀”的结果。简单的理解就是只从最左面的开始组合。

下面语句用到了组合索引:

select * from 表名 where 字段1=xx and 字段2=xx;

下面的语句没有用到组合索引:

select * from 表名 where 字段2=xx and 字段3=xx;

select * from 表名 where 字段2=xx;

就是说如果没有刚才那三组形式的组合,都不算作是用到了组合索引。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值