表的约束
5.1:表的约束的概念
定义:
数据库表约束是用于定义和实施数据完整性的规则或条件。它们被应用于数据库表中的列,以确保数据的一致性、有效性和准确性。表约束可以强制执行特定的规则,限制数据的插入、更新或删除操作,以确保数据的完整性和一致性。
5.2:空属性
空属性约束定义了一个列是否允许包含空值(NULL)。如果列被标记为可空,则可以在该列中插入空值。如果列被标记为非空,则要求在插入或更新数据时提供非空值。
有两个值:null 和 not null,null说明插入数据可以为空,not null表示插入数据不能为空
5.3:默认值
默认值约束为列定义了一个默认值。如果在插入数据时没有提供该列的值,则将使用默认值。这对于确保列始终具有一个默认值很有用。
使用default表示
5.4:列描述
列描述是用于提供有关列的说明或注释的约束。它可以包含关于列的相关信息,例如该列的用途、数据格式或限制等,有助于其他开发人员理解和使用该列。
使用comment表示
不能通过desc查看,可以通过show查看
5.5:zerofill
zerofill 是一个数据库特定的约束,通常用于数值列。当列被标记为 zerofill 时,如果数值长度小于列定义的长度,则在左侧用零填充数值,以达到指定的长度。
使用zerofill表示
5.6:主键
主键是一种用于唯一标识表中每个记录的约束。主键必须具有唯一性,不允许重复值,并且不能包含空值。主键的作用是提供一种快速访问表中记录的方法,并用于建立与其他表的关联关系。
使用primary key表示
5.7:自增长
自增长约束用于将一个列设置为自动递增的整数值。每当插入一条新记录时,该列的值将自动增加,确保每个记录都具有唯一的值(假如我们插入一个更大的值,那么自增长将从这个最大值开始)。
使用auto_increment表示,通常和主键使用
5.8:唯一键
唯一键约束确保列或列组合中的值是唯一的,但可以包含空值。与主键不同的是,唯一键允许多个出现相同的NULL值。
使用unique表示
5.9:外键
外键约束用于建立表与表之间的关联关系。外键列的值必须与另一个表中的主键(primary key)或唯一键值(unique)匹配。外键约束用于确保数据引用完整性,保持相关表之间的关联关系正确。
语法:foreign key (字段名) references 主表(列)
5.10:检查约束
检查约束定义了一些条件,用于限制插入或更新数据时的取值范围或条件。它可以基于列的数据类型、表达式或函数来定义规则,确保数据的有效性和合法性。检查约束可用于限制列的范围,例如只允许特定范围内的数值或字符。
使用check表示