【MySQL】表的约束

1. 约束概念

表中一定要有各种约束,通过约束,让未来插入数据库表中的数据是符合预期的
约束本质是 通过技术手段,倒逼程序员 插入正确的数据
站在mysql的视角,凡是插入进来都是符合数据约束的
约束的最终目标:保证 数据的完整性和可预期性

如:使用VS时,当代码写错了,编译器就会报错,如果不改错而执行代码,就会导致执行不通过
必须将错误修改正确,才能执行才能通过

2. 空属性

在mysql中 NULL表示没有
’ ’ 表示空串,有只不过是空的

3. 默认值

某一种数据会经常性的出现某个具体的值,可以在一开始就指定好,在需要真实数据的时候,用户可以选择性的使用默认值

4. comment——列描述

comment 后面跟的相当于注释

5. 主键

primary key 用来唯一的约束该字段里面的数据,不能重复,不能为空,一张表最多只有一个主键
主键所在的列 通常是整数类型
在这里插入图片描述
创建一张表 test_key,内部包含 被设置为主键的学号 以及 不能设置为空的 名字

学号id中并没有设置为非空,但是查询test_key表结构时,发现自动将其设置为 not null
由于学号被设置为主键
所以查询时 在key 列(表示当前列是否为主键列),发现id所在列为 PRI (当前为主键列)

6. 复合主键

虽然一个表中只能有一个主键,但是并不意味着一个表中的主键,只能添加给一列
即 一个主键 也可以被添加到多列 ——复合主键

7. 自增长

auto_increment :当对应的字段 不给值,会自动的被系统触发,系统会从当前字段中已经有的最大值+1操作,得到一个新的不同的值,通常和主键搭配使用,作为逻辑主键

自增长的特点:
任何一个字段要自增长,前提key一栏要有值
自增长字段必须是整数
一张表最多只能有一个自增长

8. 唯一键

一张表中有很多字段需要唯一性,数据不能重复,但是一张表中只能有一个主键
唯一键就可以解决表中多个字段需要唯一约束的问题

唯一键和主键差不多,唯一键允许为空,而且可以多个为空,空字段不做唯一性比较

9. 外键

外键用于主表和从表之间的关系,外键约束主要定义在从表上,主表则必须是有主键约束或者unique约束(唯一键约束)
当定义外键后,要求外键列数据必须在主表的主键列存在或为null

语法:
foregin key(字段名) references 主表(列)

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值