MySQL详细笔记四:约束

一、什么是约束?

约束对应的英语单词:constraint
在创建表的时候,可以给表中的字段加上一些约束,来保证这个表中数据的完整性、有效性
约束的作用就是为了保证:表中的数据有效

二、主要的约束种类:

非空约束:not null
唯一性约束: unique
主键约束: primary key (简称PK)
外键约束:foreign key(简称FK)
检查约束:check(注意:mysql不支持,oracle支持

约束也分为:表级约束和列级约束。
需要给多个字段联合起来添加某一个约束的时候,需要使用表级约束。

三、各种约束的详细介绍:

  1. 非空约束:not null
    非空约束not null约束的字段不能为NULL

  2. 唯一性约束:unique
    唯一性约束unique约束的字段不能重复,但是可以为NULL
    也可以两个字段联合起来具有唯一性。

    在mysql当中,如果一个字段同时被not null和unique约束的话,
    该字段自动变成主键字段。(注意:oracle中不一样!)

  3. 主键约束(primary key,简称PK)
    主键字段:该字段上添加了主键约束,这样的字段叫做:主键字段
    主键值:主键字段中的每一个值都叫做:主键值
    主键值是每一行记录的唯一标识。
    主键值就是每一行记录的身份证号

    任何一张表都应该有主键,没有主键,则表无效
    主键的特征:not null + unique
    1个字段做主键,叫做:单一主键
    多个字段联合起来添加约束,叫做:复合主键
    在实际开发中不建议使用:复合主键。建议使用单一主键。
    因为主键值存在的意义就是这行记录的身份证号,只要意义达到即可,单一主键可以做到。
    复合主键比较复杂,不建议使用。

    一张表中,主键约束只能添加1个。(主键只能有1个。)

    主键值建议使用:int,bigint,char
    不建议使用:varchar来做主键。主键值一般都是数字,一般都是定长的。

    主键还可以分为:自然主键和业务主键。
    自然主键:主键值是一个自然数,和业务没关系。
    业务主键:主键值和业务紧密关联,例如拿银行卡账号做主键值。
    在实际开发中尽量使用业务主键。

  4. 外键约束(foreign key,简称FK)
    外键字段:该字段上添加了外键约束
    外键值:外键字段当中的每一个值

    删除表的顺序:先删子表,再删父表。
    创建表的顺序:先创建父表,再创建子表。
    删除数据的顺序:先删除子数据,在删除父数据。
    插入数据的顺序:先插入父数据,再插入子数据。

    子表中的外键引用的父表中的某个字段,被引用的这个字段必须是主键吗?
    不一定是主键,但至少具有unique约束。同时外键值可以为空。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值