MySQL约束(三)-唯一约束与检查约束

青林
青林
青林
4
文章
0
评论
2020-09-0313:09:00 评论 333 741字
摘要

唯一约束是指所有记录中字段的值不能重复出现,比如给”id”字段加上唯一约束之后,每条记录的id值都是唯一的,不能出现重复的情况。检查约束是用来检查数据表中字段值有效性的一种约束。

3. 唯一约束(UNIQUE KEY)

唯一约束是指所有记录中字段的值不能重复出现,比如给"id"字段加上唯一约束之后,每条记录的id值都是唯一的,不能出现重复的情况。

唯一约束与主键约束有一个相似的地方,就是它们都能够确保列的唯一性。与主键约束不同的是,唯一约束在一个表中可以有多个,并且设置唯一约束的列是允许有空值的,虽然只能有一个空值。

例如,在用户信息表中,要避免表中的用户名重名,就可以把用户名列设置为唯一约束。

3.1 在创建表时设置唯一约束

唯一约束可以在创建表时直接进行设置,通常设置在除了主键以外的其他列上,语法格式如下:

MySQL约束(三)-唯一约束与检查约束 

创建图书馆所有书本明细表book_info ,设定书本bk_id为主键,书本ISBN为唯一键,SQL语句如下:MySQL约束(三)-唯一约束与检查约束

语法格式:

MySQL约束(三)-唯一约束与检查约束 

将book_info表中author字段设置为唯一约束:

MySQL约束(三)-唯一约束与检查约束 

3.3 删除唯一约束

语法格式:

MySQL约束(三)-唯一约束与检查约束 

删除book_info表中的唯一约束uni_author;

MySQL约束(三)-唯一约束与检查约束 

4. 检查约束(CHECK)

检查约束是用来检查数据表中字段值有效性的一种约束。

例如,学生信息表中的年龄字段是没有负数的,并且数值也是有限制的。如果是大学生,年龄一般应该在 18~30 岁之间。在设置字段的检查约束时要根据实际情况进行设置,这样能够减少无效数据的输入。

4.1 在创建表时设置检查约束

基本语法格式:

MySQL约束(三)-唯一约束与检查约束 

在persons表创建时为"id_p"列创建check约束,约束条件为id_p列数据必须只包含大于0的整数:

MySQL约束(三)-唯一约束与检查约束 

需要为约束进行命名,以及为多个列定义check约束时:

在城市一列需要进行限制为"北京"以及id_p大于0时:

MySQL约束(三)-唯一约束与检查约束 

4.2 在修改表时添加检查约束

语法格式:

MySQL约束(三)-唯一约束与检查约束 

修改persons数据表,要求city字段为"上海":

MySQL约束(三)-唯一约束与检查约束 

4.3 删除检查约束

语法格式:

MySQL约束(三)-唯一约束与检查约束 

删除persons表中的check_ct约束:

MySQL约束(三)-唯一约束与检查约束
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: