mysql的主键和索引

Posted 不放弃自己

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
  • 两者之间的关系:
主键是一定是唯一性索引,但唯一性索引不一定是主键
主键列不能为空,但唯一索引列可以为空
一张表只能有一个主键,但可以有多个索引

以上是关于mysql的主键和索引的主要内容,如果未能解决你的问题,请参考以下文章

数据库中的主键、关键字、索引

MySQL简述 MySQL 的主键 PRIMARY KEY 和唯一键 UNIQUE INDEX

MySQL简述 MySQL 的主键 PRIMARY KEY 和唯一键 UNIQUE INDEX

cassandra中的主键和索引

如何分清SQL数据库中的主键与外键

请问SQL server 中的主键和外键的作用