SQL特性
约束
概念
管理如何插入或处理数据库数据的规则。
类型
主键约束
概念: 用来保证一列中的值是唯一的。
适合作为主键: 不修改和更新、不允许为空、不能重用和重复。
格式
ALTER TABLE 表名
ADD CONSTRAINT PRIMARY KEY (列名);
外键约束
概念: 外键是表中的一列,气质必须列在另一个表的主键中。外键是保证引用完整性的极其重要部分。外键约束也有利于防止意外删除列
格式:
ALTER TABLE 表名
ADD CONSTRAINT
FOREIGN KEY (列名) REFERENCES 表名(列名)
唯一约束
概念
唯一约束用来保证一列(或一组列)中的数据是唯一的。它们类似于主键,但存在于以下区别:
- 表可以包含多个唯一约束,但每个表只能有一个主键;
- 唯一约束可以包含null;
- 唯一约束可以被修改和更新;
- 唯一约束列的值可重复使用;
- 与主键不一样,唯一约束不能用来定义外键。
检查约束
概念: 检查约束用来保证一列(或一组列)中的数据满足一组指定的条件。
用途:
- 检查最大最小值;
- 指定范围;
- 只允许指定值。
格式
以性别只能输入MF为例
ADD CONSTRAINT CHECK (gender LIKE '[MF]')
触发器
概念
触发器是特殊的存储过程,他在特定的数据库活动发生时自动执行。触发器可以与特定表上的INSERT、UPDATE和DELETE操作(或组合)相关联。
与存储过程不一样,触发器于单个表相关联。例如:Orders表上的INSERT操作相关联的触发器只在Orders表插入时执行。
触发器内的代码具有以下数据的访问权:INSERT、UPDATE、DELETE
触发器的用途:
保证数据一致;
基于某个表的变动在其他表上执行活动;
进行额外的验证并根据需要退回数据;
计算机算列的值或更新时间戳。
格式
CREATE TRIGGRE 触发器名字
ON 表名
FOR INSERT,UPDATE,DELETE
AS
INSERT\UPDATE\DELETE SQL语句