Mysql之约束

约束

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

2.目的:保证数据库中数据的正确、有效性和完整性

3.分类

注意:
①约束是作用于表中字段上的,可以在创建表\修改表的时候添加约束,一个字段可以添加多个约束。
②主键值在约束为UNIQUE的sql添加语句报错时,仍会自增1,从而导致主键值断层。
③check约束括号内是判断式子。
④default后面接默认值,类型与字段相同。

外键约束

1.概念:外键用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性。

2.主表和从表:对于两个具有关联关系的表而言,相关联字段中主键所在的表就是主表(父表),外键所在的表就是从表(子表)。

注意:只有在建立外键关联的时候,才会保证数据的一致性和完整性。

3.添加外键的语法

#添加外键
CREATE TABLE 表名(
    字段名 类型数据,
    ……
    [CONSTRAINT] [外键名称] FOREIGN KEY (外键字段名) REFERENCES 主表 (主表名)
);  #在建表的时候添加外键约束


ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FORENGIN KEY (外键字段名) REFERENCES 主表 (主表名); 
#建完表之后添加外键约束


#删除外键
ALTER TABLE 表名 DROP FORENGIN KEY 外键名称;

外键约束的删除和更新 

#外键约束的删除与更新行为
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段) REFERENCES 主表名 (主表字段名)
ON UPDATE CASCADE ON DELETE CASCADE; 

注意:
① UPDATE与DELETE后的CASCADE表示更新或者删除外键时遵循的规则,即行为。
② UPDATE和DELETE后的行为可以是不同的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值