万金流
以码会友。 吾Q:578751655。 水平有限,轻喷,谢!

用的比较多的索引

  1. 主键(PRIMARY KEY),每张表一个,被定为索引的列,值不能重复。
  2. 唯一(UNIQUE),每张表可以有多个,被定为索引的列,值不能重复(可以有多个NULL值)。
  3. 普通(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

 

posted on 2021-11-16 21:58  万金流  阅读(914)  评论(0编辑  收藏  举报