用的比較多的索引
- 主鍵(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