MySQL——表的约束

约束最关键的数据类型,但是为了更好的保证数据的合法性,我们需要了解一些额外的约束。

1.空属性

我们先来看它的实操,再来讲解语法。

比如我们需要创建一个表包含班级名和班主任名,

 那我们加了not null 后有什么变化呢?我们创建一个mytb2来对比一下。我们可以看出加了后属性不为空,不加字段为空。

 2.默认值

表中某一数据可能经常的会使用一个值,我们可以把它设置为默认值,需要时直接使用就好。

比如我们创建person1表,表中包含姓名年龄性别。

 

 我们可以看到,当我们如上设置默认值,我们插入时不需要对相应字段赋值时,它就会自动使用默认值。

3.列描述

comment,用来描述表中数据,相当于注释。

我们看到desc无法显示出comment,我们需要输入show create table person2\g看到建表语句

 4.zerofill

我们应该对数字类型后边的数字该怎么理解呢?比如int(5),就和zerofill这个属性有关。

我们首先来看不带该约束的表

 接着我们创建表加上zerofill

肉眼可见多了几个0对吧,刚好是5位,这就是zerofill的作用,当宽度小于设定宽度时,自动补零。

5.主键

primary key一个表里最多只能有一个主键,不能重复,不能为空。

创建一个表,里边存放学号和姓名。

上面证明主键字段不能重复。

 当表没有主键,我们可以追加主键

删除主键

之前我们了解到主键不能重复,但使用复合主键可以有多个主键。

6.自增长

auto_increment:当对应字段不给值,系统会从当前已有的最大值+1。一个表最多有一个自增长。

和主键搭配使用,作为逻辑主键。

7.唯一键

一个表中往往很多字段需要唯一性,使用主键保证唯一性只能保证一个字段,这时候唯一键就可以解决多个字段需要唯一性的问题。

我们创建一个表,存放编号和姓名,并把编号设为唯一键。

8.外键

定义主表和从表之间的关系,外键约束主要定义在从表上。主表必须有主键约束或唯一键约束。

 我们先创建主表和从表

 接下来我们插入数据,我们是先插入主表数据,再插入从表数据。

 我们尝试先于主表给从表插入数据,报错了,这就是外键的作用。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学c的长弓狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值