SQL特性

约束

概念

管理如何插入或处理数据库数据的规则。

类型

主键约束

概念: 用来保证一列中的值是唯一的。
适合作为主键: 不修改和更新、不允许为空、不能重用和重复。

格式
ALTER TABLE 表名
ADD CONSTRAINT PRIMARY KEY (列名);
外键约束

概念: 外键是表中的一列,气质必须列在另一个表的主键中。外键是保证引用完整性的极其重要部分。外键约束也有利于防止意外删除列

格式:
ALTER TABLE 表名
ADD CONSTRAINT
FOREIGN KEY (列名) REFERENCES 表名(列名)
唯一约束
概念

唯一约束用来保证一列(或一组列)中的数据是唯一的。它们类似于主键,但存在于以下区别

  1. 表可以包含多个唯一约束,但每个表只能有一个主键;
  2. 唯一约束可以包含null;
  3. 唯一约束可以被修改和更新;
  4. 唯一约束列的值可重复使用;
  5. 与主键不一样,唯一约束不能用来定义外键。
检查约束

概念: 检查约束用来保证一列(或一组列)中的数据满足一组指定的条件。
用途:

  1. 检查最大最小值;
  2. 指定范围;
  3. 只允许指定值。
格式

以性别只能输入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语句