-
主键是个什么?
我来来具体的东西说吧,书大家都看过吧,没看过的找本翻一下,看下它每页是不是有个页码,我们的数据表主键就相当于是这个页码,明白了吧。
-
那么索引是什么呢?
我们还拿书来说,索引相当于书的目录,有了目录我们可以很快的知道这本书的基本内容和结构,数据索引也一样,它可以加快数据表的查询速度。
- 单一主键:只用一列来唯一标识一行
create table user(
id varchar(4) primary key, # 单列主键
name varchar(4) not null,
email varchar(20) not null ,
efftflag varchar(1) not null
)
- 添加主键
ALTER TABLE `student` add PRIMARY key (s_id);
- 删除主键
ALTER TABLE `student` drop PRIMARY key;
- 添加索引
ALTER TABLE student ADD INDEX index_id (s_id);
- 删除索引
ALTER TABLE student drop index index_id;
- 两者之间的关系:
主键是一定是唯一性索引,但唯一性索引不一定是主键
主键列不能为空,但唯一索引列可以为空
一张表只能有一个主键,但可以有多个索引