【10】约束

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);

 

posted @ 2017-12-31 20:52  LolitaGIS的笔记  阅读(265)  评论(2编辑  收藏  举报