小企业网站建设服务,wordpress跳转指定模板,在家做电商怎么做,网站建设流程行业现状约束概述
1.1 为什么需要约束
数据完整性#xff08;Data Integrity#xff09;是指数据的精确性#xff08;Accuracy#xff09;和可靠性#xff08;Reliability#xff09;。它是防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信…约束概述
1.1 为什么需要约束
数据完整性Data Integrity是指数据的精确性Accuracy和可靠性Reliability。它是防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。
为了保证数据的完整性SQL规范以约束的方式对表数据进行额外的条件限制。从以下四个方面考虑 实体完整性Entity Integrity例如同一个表中不能存在两条完全相同无法区分的记录 域完整性Domain Integrity例如年龄范围0-120性别范围“男/女” 引用完整性Referential Integrity例如员工所在部门在部门表中要能找到这个部门 用户自定义完整性User-defined Integrity例如用户名唯一、密码不能为空等本部门经理的工资不得高于本部门职工的平均工资的5倍。
1.2 什么是约束
约束是表级的强制规定。
可以在创建表时规定约束通过 CREATE TABLE 语句或者在表创建之后通过 ALTER TABLE 语句规定约束。
1.3 约束的分类 根据约束数据列的限制约束可分为 单列约束每个约束只约束一列 多列约束每个约束可约束多列数据 根据约束的作用范围约束可分为 列级约束只能作用在一个列上跟在列的定义后面 表级约束可以作用在多个列上不与列一起而是单独定义 位置 支持的约束类型 是否可以起约束名
列级约束 列的后面 语法都支持但外键没有效果 不可以
表级约束 所有列的下面 默认和非空不支持其他支持 可以主键没有效果 根据约束起的作用约束可分为 NOT NULL 非空约束规定某个字段不能为空 UNIQUE 唯一约束规定某个字段在整个表中是唯一的 PRIMARY KEY 主键(非空且唯一)约束 FOREIGN KEY 外键约束 CHECK 检查约束 DEFAULT 默认值约束 注意 MySQL不支持check约束但可以使用check约束而没有任何效果 查看某个表已有的约束
#information_schema数据库名系统库 #table_constraints表名称专门存储各个表的约束 SELECT * FROM information_schema.table_constraints WHERE table_name 表名称;