Oracle数据库约束条件的使用
1、非空(Not Null)约束用于确保字段值不为空。非空约束是五个约束条件中唯一一个只能定义在列级的约束条件。非空约束条件可以在建表时建立,也可以在建表后建立。如下图:


2、在数据字典中查询刚刚建立的非空约束条件。

1、唯一约束条件用于保证字段或者字段的组合不出现重复值。同样唯一约束条件可以在建表时建立,也可以在建表后建立。如下图:


2、在数据字典中查询唯一约束条件:

1、主键约束条件从功能上看相当于非空且唯一。主键可以是单字段也可以是多字段组合。在一个白哦上只允许建立一个主键,而其他约束条件则没有明确的个数限制。在建表时建立主键约束:如下图


2、在建表后建立表级约束如下图:


3、在数据字典中查看主键约束条件:


1、外键约束条件定义在两个表的两个字段或一个表的两个字段上,用于保证相关两个字段的关系。
外键约束包括两个方面的数据约束:
(1):子表上定义的外键的列值,必须从主表被参照的列值中选取,或者为NULL;
(2):当主表参照的值被子表参照时,主表的该行记录不允许被删除。


2、在数据字典中查看外键约束条件:

3、在外键约束中有两个短语是可选的分别为ON DELETE CASCADE和ON DELETE SET NULL.前一个用于指定级联删除选项,当删除主表数据时会级联删除从表的相关数据;后一个表示当删除主数据时,将从表的外键列值设置为NULL
1、检查约束条件用来强制在字段上的每个值都要满足Check中定义的条件。

2、在数据字典中查看检查约束条件:

1、从字面上我们应该就能知道该功能的用途了。禁用和启用约束条件的语法如下:
ALTER TABLE table_name
DISABLE | ENABLE CONSTRAINT constraint_name [CASCADE];
2、禁用Check约束:

3、启用Check约束:

4、如果禁用的是主键约束条件,且这个主键被其他列的外键约束参照,则一种选择是使用CASCADE短语,进行级联操作,另一种是先将外键约束条件禁用或删除,再禁用主键约束。
1、当希望修改约束条件的名称时,可以使用ALTER TABLE的RENAME CONSTRAINT子句修改约束条件的名称。语法如下:
ALTER TABLE table_name
RENAME CONSTRAINT old_cons_name TO new_cons_name;
具体实现如下图:

