数据库约束是为了保证数据的完整性(正确性)而实现的一套机制。主要分为五大约束:
- 主键约束(Primay Key Coustraint): 唯一性,非空性
1 2 3
| # 添加主键约束(将UserId作为主键) alter table UserId add constraint PK_UserId primary key (UserId);
|
- 唯一约束 (Unique Counstraint):唯一性,可以空,但只能有一个
1 2 3
| # 添加唯一约束(身份证号唯一,因为每个人的都不一样) alter table UserInfo add constraint UQ_IDNumber unique(IdentityCardNumber);
|
- 检查约束 (Check Counstraint):对该列数据的范格式的限制(如:年性别等)
1 2 3 4 5
| # 添加检查约束 (对年龄加以限定 20-40 岁之间) alter table UserInfo add constraint CK_UserAge check (UserAge between 20 and 40); alter table UserInfo add constraint CK_UserSex check (UserSex=’男’ or UserSex=’女′);
|
- 默认约束 (Default Counstraint):该数据的默认值
1 2 3
| # 添加默认约束(如果地址不填 默认为“地址不详”) alter table UserInfo add constraint DF_UserAddress default (‘地址不详’) for UserAddress;
|
- 外键约束 (Foreign Key Counstraint):需要建立两表间的关系并引用主表的列
1 2 3
| # 添加外键约束 (主表 UserInfo 和从表 UserOrder 建立关系,关联字段 UserId) alter table UserOrder add constraint FK_UserId_UserId foreign key(UserId)references UserInfo(UserId);
|