我在b站学数据库 (三):约束

上一篇:我在b站学数据库 (二):DML

一、主键约束
1、概念
MySQL主键约束是一个列或者多个列的组合,其值能唯一的标识表中的每一行,方便尽快找到某一行。
主键约束相当于唯一约束+非空约束的组合,主键约束不允许重复,也不允许出现空值。
每个表最多只允许一个主键。
主键约束的关键字是:primary key
当创建主键约束时,系统会在所在的列和列的组合上建立对应的唯一索引。

2、添加单列主键
(1)定义字段的同时指定主键
在这里插入图片描述
(2)定义完字段之后指定主键 在这里插入图片描述
(3)通过修改表结构添加主键
在这里插入图片描述
(有一处错误:最后一个逗号要去掉)

3、添加多列主键(联合主键)
注意:当主键是由多个字段组成时,不能直接在字段名后面声明主键约束。
一张表只能有一个主键,联合主键也是一个主键。
联合主键的各列,都不能为空。

(1)定义字段的同时指定主键
在这里插入图片描述
(2)通过修改表结构添加主键
在这里插入图片描述
4、删除主键约束
在这里插入图片描述
在这里插入图片描述

二、自增长约束
1、概念
当主键定义为自增长后,这个主键的值就不需要再需要用户输入数据了,而数据库系统根据定义自动赋值。每增加一条记录,主键会自动以相同的步长进行增长。
通过给字段添加auto_increment属性来实现主键自增长
2、语法
字段名 数据类型 auto_increment
3、例
(1)创表时指定
在这里插入图片描述
(2)创表后指定
在这里插入图片描述

4、注意:
(1)默认情况下,初始值是一,每新增一条记录,字段值自动加1。
(2)一个表中只能有一个字段使用该约束,且该字段必须有唯一索引,以避免序号重复。
(3)约束的字段必须具备not null属性
(4)约束的字段只能是整数类型
(5)约束字段的最大值受该字段的数据类型约束,如果达到上限,自增长约束就会失效。

5、删除后自增列的变化
(1)delete数据之后自动增长从断电开始
(2)truncate数据之后自动增长从默认起始值开始

三、非空约束
1、概念
指字段的值不能为空
2、例
(1)创表时指定
在这里插入图片描述
在这里插入图片描述
(2)创表之后指定
在这里插入图片描述
3、删除非空约束
在这里插入图片描述

四、唯一约束
1、概念
指所有记录中字段的值不能重复出现。(特别的是NULL和任何值都不相同,甚至和自己都不相同)
2、例
(1)创表时指定
在这里插入图片描述
(2)创表后指定
在这里插入图片描述
(3)删除
在这里插入图片描述

五、默认约束
1、概念
用来指定某列的默认值
2、例
(1)创表时
在这里插入图片描述

(2)创表后
在这里插入图片描述
(3)删除
在这里插入图片描述

六、零填充约束
1、概念
插入数据时,当该字段的值的长度小于定义的长度时,会在该值的前面补上相应的0.
zerofill默认为int(10),使用时,默认会自动加无符号属性。有符号范围为-128~+127,无符号为0 - 256 。
2、例
(1)添加约束
在这里插入图片描述
(2)删除
在这里插入图片描述

七、总结
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下一篇:我在b站学数据库 (四):DQL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值