MySQL基础篇 - 约束

01 概述

【1】概念:约束就是作用在表中字段上的规则,用于限制存储在表中的数据。

【2】作用:保证数据库中数据的正确性,有效性和完整性。

【3】分类:

  ① 非空约束not null:用于限制字段的值不能为null

  ② 唯一约束unique:保证字段所有数据都是唯一的

  ③ 主键约束primary key:主键是一行数据的唯一标识,要求非空且唯一

       注意:① 如果插入数据没有成功,但由于已经申请到了主键,所以下一个插入数据的主键值可能与前面不连续。

                  ② MySQL中独有的主键自增:auto_increment

  ④ 默认约束default:保存数据时,如果未指定该字段的值,则采用默认值

  ⑤ 检查约束check:保证字段值满足某一条件,注意(8.0.16版本之后才出现这个约束条件,本电脑的版本用不了)

  ⑥ 外键约束foreign key:用来让两张表的数据之间建立连接,保证数据的一致性和完整性

【说明】:约束是作用在表中字段上的,可以在创建表/修改表的时候添加约束。

【普通约束的格式】:字段名 字段类型 约束条件(ps:约束条件之间不要加逗号) comment 'xx';

02 约束演示

【SQL语句添加约束】:

【图形化界面添加约束】:

03 外键约束

【1】具有外键的表称为子表,与外键相关联的表称为父表。

【2】子表外键里的内容对应着父表的主键内容,如果没有建立外键关联,是无法保证数据的一致性和完整性的,例如:删除父表中的内容,子表中的数据是不会发生变化的;如果是建立了外键关联,则无法去删除父表中的数据。

【3】添加/删除外键的语法:

   ① 关键字:constraint约束,references参考,谈及

04 外键删除更新行为

【1】no action(默认行为):在父表中删除/更新对应记录时,首先检查是否有外键关联,如果有则不允许操作

【2】restrict:同上

【3】caseade:在父表中删除/更新对应记录时,首先检查是否有外键关联,如果有则也删除/更新子表中的记录

【4】set null:在父表中删除/更新对应记录时,首先检查是否有外键关联,如果有则子表中该外键值设为null(外键值一定可以取null值)

【设置外键删除更新行为】:在添加外键的语句后面加上 on update xx on delete xx

【图形化界面设置外键的删除更新行为】: 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值