数据库SQL Server2012笔记(五)——维护数据的完整性——约束
1、概念
1)约束用于确保数据库数据满足特定的商业规则。
2)在sql server中,约束包括:not null,unique,primary key,foreigh key,check五种。
2、not null(非空)
- 如果在列上定义了not null,那么当插入数据时,必须为列提供数据。
3、unique(唯一)
- 当定义了唯一约束后,该列值是不能重复的,可以为null,但最多只能有一个是null。
4、primary key
- 不能重复且不能为null。
- 一张表最多只能有一个主键,但是可以有多个unique约束。
- 表可以有复合主键
-
- 多个咧构成一个主键
- 放在最后:primary key(字段1,字段2)
- 同时相同,才为重复。
5、行级定义和表级定义
create table test
(Id int,
name nvarchar(30),
age int not null,——>行级定义
primary key(Id,name)——>表级定义)
6、foreign key:定义主表(被引用的表)和从表(引用外键的表)之间的关系。
1)外键约束要定义在从表。
2)主表必须有主键约束或unique约束。
3)外键列数据必须在主表的主键列存在或为null。
7、check:用于强制行数据必须满足的条件。
8、default:若不赋值,则给默认值
create table mes (Id int primary key identiry(1,1), mesDate datatime default getdate())
插入数据时,若不给出时间,则赋本地时间。
逆天改命!我命由我不由天!