mysql约束

在这里插入图片描述

什么是约束

约束,就是mysql自带的一种检测, 用来判断程序员在进行操作时,如果触发了约束,则mysql会直接报错,不让程序员进行操作,比如mysql中的数据类型就是一种约束,我们不能将不属于列类型的数据插入到表中。

几种主要约束介绍

非空约束

NOT NULL,非空约束,如果某列设置了该约束,则我们不能将空值赋予该列。
在这里插入图片描述
在展示表的结构时,第三列就是非空约束,此时我们插入值时,不能插入空。
在这里插入图片描述

默认值约束

DEFAULT VAL,默认值约束,如果某列设置了该约束,则我们不直接插入默认约束的列,则将默认值赋予该列。
在这里插入图片描述

在这里插入图片描述
在我们不设置任何约束时,实际上真正的mysql语句会为我们加入default null约束。
在这里插入图片描述

零填充约束

ZEROFILL,零填充约束作用于(整数和浮点数),如果我们插入的值不足默认长度,则剩余的位会被0填充。
设置为零填充后,该值默认就是无符号值了
在这里插入图片描述
在这里插入图片描述

主键约束

PRIMARY KEY,主键约束,一个表中只能有一个主键约束但是主键约束可以绑定多个列,被设置为主键约束的列,不能重复,主键不能为空
主键约束用来标识唯一的行信息。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
主键的定义可以如上图一样定义。
在这里插入图片描述

自增约束

AUTO_INCREMENT,自增约束,一个表中只能有一个自增约束,自增约束只能给主键列或者唯一键列,被设置为自增,则不能设置默认值约束,自增默认从1开始。
在这里插入图片描述
在这里插入图片描述

同时也可以自定义自增的开始。
在这里插入图片描述
在这里插入图片描述
在用户自己插入一个较大值时,下一个自增的值就从该值开始。
在这里插入图片描述

唯一键约束

UNIQUE KEY,唯一键约束,表中有许多属性都是唯一的,为保证其唯一性,则可以使用唯一键约束,唯一键可以有很多,唯一键约束可以为空
唯一键约束和主键约束之间,唯一键用来标识属性的唯一性,主键用来标识表中每一行的唯一性。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

外键约束

foreign key ( c ) reference table_name ( c ),外键约束用于表于表之间比如学生表中有学生的班级号,而班级表中也有班级号,这两个表之间就有一定的关系,每个学生一定属于一个班级,同时在班级中还有人时,我们不能将班级删除,这就是约束
我们将学生表称为从表,班级表称之为主表,外键一般被定义在从表中,主表中被外键引用的列只能是主键/唯一键
在这里插入图片描述
在这里插入图片描述
在这种结构中,如果我们要删除goods/customer中的某行,则会被purcher表约束同时,我们也不能插入在goods表和customer表中没有的goods_id和customer_id。
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值