SQL的约束规则

在SQL中,约束是一种用于限制数据库中数据插入、更新或删除操作的规则。它可以保证数据的完整性和一致性,避免了数据的不合法或不一致。

以下面2个表格为例:

主键表 product

productid

petid

name

sex

PR-01

01

鹦鹉

雄性

PR-02

04

天使鱼

雄性

PR-03

02

英短

雌性

PR-04

03

博美

雄性

PR-05

05

长尾鬣蜥

雌性

PR-06

02

布偶

雌性

外键表 pet

petid

type

sex

01

鸟类

雄性

02

雄性

03

雌性

04

雄性

05

爬行类

雌性

1、主键约束

通过定义一个或多个列作为唯一标识符来防止重复记录的插入:

ALTER TABLE product ADD CONSTRAINT pk_product PRIMARY KEY (productid)

2、unique约束

用于确保列中的每个值具有唯一性

ALTER TABLE pet ADD CONSTRAINT uni_pet UNIQUE (type)

 3、check约束

用于限制列中值的范围

添加CHECK完整性约束,以保证性别只能包含“雄性”或“雌性”:

ALTER TABLE product ADD CONSTRAINT chk_sex CHECK (sex IN ('雄性', '雌性'))

4、外键约束

用于在两个表之间创建关系,确保一个表中的数据与另一个表的数据相关联

通过子句ON DELETE、ON UPDATE控制外键表中的数据变化

当主键表中的记录被删除时,如果在外键表中仍然存在与之关联的记录,则会阻止删除和更改操作:

ALTER TABLE pet
ADD CONSTRAINT fk_pet_product
FOREIGN KEY (petid) REFERENCES product(petid)
ON DELETE RESTRICT
ON UPDATE RESTRICT

当主键表中的记录被删除时,外键表中的相应记录也会被自动删除:

ALTER TABLE pet
ADD CONSTRAINT fk_pet_product
FOREIGN KEY (petid) REFERENCES product(petid)
ON DELETE CASCADE

当主键表中的记录被删除时,外键表中的相应记录的外键列会被设置为 NULL:

ALTER TABLE pet
ADD CONSTRAINT fk_pet_product
FOREIGN KEY (petid) REFERENCES product(petid)
ON DELETE SET NULL

  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值