MySQL—B站学习总结—常见约束介绍
含义:
一种限制,用于限制表中的数据,为了保证表中的数据的准确性和可靠性
常见约束
- NOT NULL:非空,用于保证该字段的值不能为空
- DEFAULT:默认约束,用于保证该字段有默认值
- UNIQUE:唯一约束,用于保证该字段的值具有唯一性,可以为空
- CHECK:检查约束,mysql中不支持
- PRIMARY KEY:主键约束,用于保证该字段的值唯一性,并且非空
- FOREIGN KEY:外键约束,用于保证该字段的值必须来自于主表的关联列的值,在从表中添加外键的约束,用于引用主表中某列的值
添加约束的时机
- 创建表的时候
- 修改表的时候
约束的添加分类
- 列级约束:六大约束语法上都支持,但是外键约束没有效果,可以添加多个
- 表级约束:除了非空和默认约束以外都支持
语法图例:
添加表级约束
实例图例:
references是在为表创建外键时的一个固定语法里的词,references [主表(引用表)] ([主键列])
语法图例:(constraint 约束名 这两个可以省略)
主键约束和唯一约束的区别
外键
- 要求在从表设置外键关系
- 从表的外键列的类型和主表的关联列的类型要求一致或兼容,名称没有要求
- 主表当中的关联列必须是个key(主键/唯一)----》约束
- 插入数据时,先插入主表,再插入从表,删除数据的时候,要先删除从表,再删除主表
修改表的时候添加约束
语法: