MySQL语法复习总结(3)--约束

约束的作用

保证数据的完整性和一致性。

约束的分类

约束分为表级约束和列级约束。

约束的类型

非空约束–NOT NULL
主键约束–PRIMARY KEY
唯一约束–UNIQUE KEY
默认约束–DEFAULT
外键约束–FOREIGN KEY

使用约束

空值和非空

NULL,字段值可以为空
NOT NULL,字段值禁止为空
这里写图片描述

自动编号(AUTO_INCREMENT)

必须与主键组合使用,默认起始值为1,默认每次递增1
这里写图片描述

主键约束(PRIMARY KEY)

每个数据表只能有一个主键,主键保证记录的唯一性,主键列自动为NOT NULL,主键约束不一定配置为AUTO_INCREMENT
这里写图片描述

唯一约束(UNIQUE KEY)

唯一约束可以保证记录的唯一性,添加唯一约束的列可以有一个空值(NULL),每个数据表可以有多个唯一约束
这里写图片描述

默认约束(DEFAULT)

当插入记录时,如果没有明确为字段赋值,则自动赋默认值
这里写图片描述

外键约束(FOREIGN KEY)

外键约束的要求
创建外键约束时父表和子表必须都使用InnoDB存储引擎,且不能使用临时表。
外键列和参照列必须具有相似的数据类型,数字类型的数据列数字的长度和是否有符号位必须相同,字符列的长度可以不同。
外键列和参照列必须创建索引。如果外键列不存在索引,MySQL将自动创建索引。

创建外键约束
这里写图片描述
这里写图片描述

外键约束的参照操作

  1. CASCADE:从父表删除或更新时自动删除或更新子表中匹配的行
  2. SET NULL:从父表删除或者更新行时设置子表中的外键列为NULL。如果使用该选项,必须保证子表列没有指定NOT NULL。
  3. RESTRICT:拒绝对父表的删除或更新操作。
  4. NO ACTION:标准SQL的关键字,在MySQL中与RESTRICT相同
    这里写图片描述

表级约束和列级约束

对一个数据列建立的约束,称为列级约束。
对多个数据列建立的约束,称为表级约束。
列级约束既可以在列定义时声明,也可以在列定义后声明。
表级约束只能在列定义以后声明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值