用的比较多的索引
- 主键(PRIMARY KEY),每张表一个,被定为索引的列,值不能重复。
- 唯一(UNIQUE),每张表可以有多个,被定为索引的列,值不能重复(可以有多个NULL值)。
- 普通(INDEX/KEY),每张表可以有多个,被定为索引的列,值可以重复。
索引的创建和删除
把索引看成表的一部分(类似于列),那么就可以在创建表的时候直接创建它;用修改表结构的方式删除或者添加它。
建表的时候创建索引:
create table t1(xh char(1),xm varchar(5),nl tinyint,primary key (xh),unique (xm),index (nl));
查看表结构:
删除索引:
alter table t1 drop primary key;
alter table t1 drop index xm;
alter table t1 drop index nl;
其中,因为主键唯一,故可以不指定名称。
作为唯一索引和普通索引,反正都是要被删除的索引,故没有必要再指定类型。按名称删除即可。
以上操作后,表结构为:
用修改表结构的方式添加索引:
alter table t1 add primary key (xh);
alter table t1 add unique (xm);
alter table t1 add index (nl);
查看表结构:
观察索引对列值(不重复)的影响
先录入一些记录:
尝试在各列插入重复值,观察结果:
什么可以重复,什么不可以重复,显而易见。
同样的,一张表中,除了主索引,都可以出现多个,也可以验证。
多个唯一索引:
多个普通索引:
索引基本操作结束,转P76,5.1.4