赞
踩
数据完整性:
约束是表级的强制规定,是为了保证数据的完整性!
约束就是对字段的一种限制条件
约束分类:
角度1:约束的字段的个数进行区分
角度2:约束的作用范围或者定义的范围
角度3:约束作用和功能上来分
如何添加约束?
CREATE TABLE时添加约束
ALTER TABLE 时增加约束、删除约束
如何查看表中的约束?
作用:限制某个字段或者某列值不能为空
关键字:NOT NULL
特点:
添加非空约束:
作用:用来限制某个字段不重复
关键字:UNIQUE
特点:
添加约束:
注意:在插入数据的时候可以多次添加NULL值,是合理的。
ALTER TABLE时添加约束
字段列表中写的是多个字段名,多个字段名用逗号分隔,表示那么是复合唯一,即多 个字段的组合是唯一的#字段列表中写的是多个字段名,多个字段名用逗号分隔,表示那么是复合唯一,即多 个字段的组合是唯一的
即组合字段中必须全部字段重复才会报错。
show index from 表名称
ALTER TABLE USER
DROP INDEX uk_name_pwd;
作用:用来标识表中的一行记录
主键约束相当于非空和唯一约束的组合,主键列不允许重复,也不允许空值。
主键是唯一的,但可以组合,组合主键也是所有重复才重复,但都不允许有空值,一个也不行。
MYSQL的主键名总是PRIMARY,固定的。
创建主键的时候同样也会创建主键索引,用主键查询效率更高。
一般不修改主键的值。
MySQL8.0新特性—自增列的持久化
8.0之前存储在内存之中,重启服务不会保存之前的删除或者其它操作。重启之后从表中可见的数值开始自增
8.0利用重做日志记录操作轨迹,重启之后仍按照重启前最后一次自增值为基础自增
作用主要是为了限制表中某个字段的引用完整性
比如员工表中的部门号,必须要在部门表中找到相应部门才可以
由于外键约束引用的特性,经常区分主表从表,即父表和子表
外键约束大部分特点都和这两个表的相关性有关
比如创建表时必须先创建主表有了参考才能创建子表进行引用,删除时必须先删引用再删参照等等
约束等级:
注意:开发中能不用外键和级联就不用,影响查询速度。一般都能通过程序来解决约束。
CHECK 约束和DEFAULT 约束就是指定插入数据格式是否和自己要求的一样,例如邮箱格式、身份证号码长度等,然后就是默认值设置,相对来说较为简单,此处不再赘述。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。