02-07-列属性(主键)

主键

顾名思义:主要的键,primary key,在一张表中,有且只有一个字段,里面的值具有唯一性。

创建主键

随表创建

系统提供了两种增加主键的方式。

  1. 方案一:直接在需要当做主键的字段之后,增加primary key属性来确定主键

    create table my_pri1(
    name varchar(10) primary key
    )charset=utf8;
    
  2. 方案二:在所有字段之后增加primary key选项:primary key(字段信息)

    create table my_pri2(
    name varchar(10),
    primary key(name)
    )charset=utf8;
    

表后增加

基本语法:alter table 表名 add primary key(字段);

create table my_pri3(
username varchar(10)
)charset=utf8;

alter table my_pri3 add primary key(username);

查看主键

  1. 方案一:查看表结构

    desc my_pri2;
    

    在这里插入图片描述

  2. 方案二:查看表的创建语句

    show create table my_pri3;
    

删除主键

基本语法:alter table 表名 drop primary key;

在这里插入图片描述

复合主键

案例:有一张学生选修课表:一个学生可以选修多个选修课,一个选修课也可以由多个学生来选:但是一个学生在一个选修课中只有一个成绩。

create table my_score(
student_no char(10),
course_no char(10),
score tinyint NOT NULL,
primary key(student_no,course_no)
)charset=utf8;

在这里插入图片描述

主键约束

主键一旦增加,那么对对应的字段有数据要求

  1. 当前字段对应的数据不能为空

  2. 当前字段对应的数据不能有任何重复

    • 插入正常数据
    insert into my_score values('00000001','course001',100);
    insert into my_score values('00000002','course001',90);
    insert into my_score values('00000001','course002',95);
    
    • 插入重复主键
    insert into my_score values('00000002','course001',98);
    

    在这里插入图片描述

主键分类

主键分类采用的是主键所对应的字段的业务意义分类

业务主键:主键所在的字段,具有业务意义(学生ID,课程ID)

逻辑主键:自然增长的整型(应用比较广泛)

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值