mysql的主键和索引

  1. 主键是个什么?

    我来来具体的东西说吧,书大家都看过吧,没看过的找本翻一下,看下它每页是不是有个页码,我们的数据表主键就相当于是这个页码,明白了吧。

  2. 那么索引是什么呢?

    我们还拿书来说,索引相当于书的目录,有了目录我们可以很快的知道这本书的基本内容和结构,数据索引也一样,它可以加快数据表的查询速度。

  • 单一主键:只用一列来唯一标识一行
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;
  • 两者之间的关系:
主键是一定是唯一性索引,但唯一性索引不一定是主键
主键列不能为空,但唯一索引列可以为空
一张表只能有一个主键,但可以有多个索引
posted @ 2020-07-16 17:32  不放弃自己  阅读(214)  评论(0编辑  收藏  举报