1.什么是约束?
限制字段可以取什么值
官方:约束是保证数据完整性的机制
2.常见的约束
- 主键约束 默认创建聚集索引 (聚簇索引) 拼音检索
- 唯一约束 默认创建非聚集索引 部首检索
- 非空约束 设计表,字段后写的null与not null
- 检查约束 限定某个字段的表达式
- 默认约束 如果不给取值就使用默认值,否则使用提供的值
- 外键约束 添加商品数据的时候,必须要有厂家数据. 除非外键数据为NULL;如果还有商品数据,不允许删除厂家数据
3.添加约束的语法
-- 添加约束的语法 /* alter table 表名 add constraint 约束名 约束类型与条件 , constraint 约束名 约束类型与条件 , constraint 约束名 约束类型与条件 , constraint 约束名 约束类型与条件; */ alter table [ConstraintExercise].[Corse2] add constraint PK_Course2_courseId primary key(courseId); alter table [ConstraintExercise].[StuInfo2] add constraint PK_StuInfo2_stuId primary key(stuId) , constraint UQ_StuInfo2_stuName unique(stuName) , constraint CK_StuInfo2_stuAge check(stuAge>=0 and stuAge <=150) , constraint DF_StuInfo2_stuSex default('m') for stuSex , constraint CK_StuInfo2_stuSex check(stuSex='f' or stuSex='m') , constraint FK_StuInfo2_Course2_courseId foreign key(courseId) references [ConstraintExercise].[Corse2](courseId);