MySQL中的约束类型

在创建表的时候,可以给表的字段添加相应的约束,添加约束的目的是为了保证表中数据的合法性,有效性,完整性

常见约束:

  • 非空约束(not null)约束的字段不能为null

  • 唯一约束(unique)约束的字段不能重复

  • 主键约束(primary key)约束的字段既不能为null,也不能重复,简称PK

  • 外键约束(foreign key)简称FK

  • 检查约束(check)注意Oracle数据库有check约束,但是mysql没有,目前mysql不支持该约束

唯一性约束unique

唯一性约束修饰的字段具有唯一性,不能重复,但是可以为null

创建表时标注unique

//对usercode进行唯一性约束
drop table if exists t_user;
create table t_user(
    id int,
    usercode varchar(225) unique
);
//对usercode和username进行唯一性标注
//一,联合的唯一性,表级约束
drop table if exists t_user;
create table t_user(
    id int,
    usercode varchar(225),
    username varchar(225),
    unique(user)
);
//二,各自的唯一性
drop table if exists t_user;
create table t_user(
    id int,
    usercode varchar(225) unique,
    username varchar(225) unique
);
主键约束primary

添加主键约束的字段不能为null也不能重复

主键约束的作用

  • 表的设计三范式中有要求,第一范式就要求任何一张表都应该有主键

  • 主键值是这行记录在这张表当中的唯一标识,就像一个人的身份证号码一样

主键的分类

  • 根据主键字段的字段数量来划分:

    • 单一主键

    • 复合主键,即多个字段联合起来添加的一个主键约束(不推荐)

  • 根据主键的性质来划分

    • 自然主键,与表内容没有关系的自然数

    • 业务主键,主键值与系统的业务挂钩,不建议使用

一张表的主键约束只能有一个

MySQL提供主键值自增

drop table if exists t_user;
create table t_user(
    id int primary key auto_increment,
    usercode varchar(225)
);
外键约束

外键约束主要是用来连接表与表之间的关系

drop table if exists t_student;
drop tabl eif exists t_class;
​
creat table t_calss(
    cno int,
    cname varchar(255),
    primary key(cno)
);
​
creat table t_student(
    sno int,
    sname varchar(255),
    classno int,
    foreign key(calssno) references t_class(cno)
);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值