数据库中创建约束
唯一约束 : 为了设置唯一,保证数据唯一
使用语法:
alter table 表名
add
constraint UQ_表名_字段名 unique(字段);
唯一约束与主键约束的唯一区别:
主键定位了表,一张表中只允许有一个主键,但是可以有多个唯一约束。
主键不允许为空,但是位于唯一约束可以为空。(空也只能都有一个)
重名的时候可以加上中括号括起来,在表格中不能有两个null。
通过SSMS添加唯一约束:
设计表 -> 右键唯一键 -> 添加 -> 右边更改名字 -> 设定字段
默认约束(defalut)
有些时候需要有默认值
两个情形:用户的插入数据的时间。
另外一个情形:软删除。即使有日志,也不可能恢复日志
alter table 表名
add
constraint DF_表名_字段名 default(值) for 字段;
没有bool类型,要写bit
在添加数据的时候,会出现一个感叹号,则选中改行,执行就会添加到表中。
MMSS:
在设计表中选中字段,在属性选项卡中找到默认值绑定,输入数据,就可以了。
检查约束(check)
一个人的性别,一个人的年龄都可以设置检查约束。
用来限定输入的数据检查是否符合某些规则。
T-sql
alter talbe 表名
add
constraint CK_表名_字段名 check(表达式)
例如对年龄的约束为0到150岁之间,stuAge>=0and stuAge<=150 or stuAge is null
外键约束:
连接两张表的关系;关系型数据库是因为有表这个概念。
而两张表之间的关系式纯粹的关系:
关系是两个表之间的关系。具有外键的就是外键表
关系式建立在两张表之间的。
外键约束的用处:用来限定插入数据和删除数据的约束的时候
对于一些不注重信息安全的公司来说不用太注意主外键的关系
如何创建主外键关系:
alter table 外键表
add
constraint FK_外键表_主键表_字段 foreign key(外键表中的字段) references 主键表名(主键表中的字段)
删除约束:alter table 表名 drop 约束名