Oracle表格约束

开发工具与关键技术:Oracle sql*plus 、 PLSQL Developer
作者:吴晓佩
撰写时间:2019年6月3日

约束的理解:
1、 约束是表级的强制规定。
2、 包含这五种约束(非空约束(not null)、unique(唯一约束)、primary key(主键约束)、foreign key(外键约束)、check(定义条件约束))。
相关:
1、约束可以在建表的时候添加,也可以在已有的表的基础上添加。
2、当添加约束的时候不指定约束名,Oracle server会自动按照SYS_Cn的格式指定约束名。
3、我们可以通过表级或列级来定义约束,如下是表级约束与列级约束的相关介绍:
(1)列级约束(非空(not null)只能作用在列上)
作用域:只能作用在一个列上。
定义方式:必须跟在列的定义后面,代码示例如下。
在这里插入图片描述
(2)表级约束
作用域:可以作用在多个列上,也可以作用在一个列上。
定义方式:添加约束时不与列一起,而是单独定义。
在这里插入图片描述
4、查看约束:(查询数据字典视图;查询数据字典视图,注意条件表名要全大写)在这里插入图片描述
Not null约束:
1、 保证列值不能为空,只能定义在列级。就是尚不知道或不确定的数据值,它不同于0或空格。我们常常把不确定的列值定义为空值。

Unique约束:
1、 约束字段唯一,可以存在null值,允许出现多个null值,多个null值不违反其中的唯一性,但是其他字段则严格不允许出现多个,可以定义在表级或列级。
PRIMARY KEY 约束:
1、 约束该列字段唯一且不允许为空,可以定义在表级或列级。
2、 当主键是由多个属性组成时:某以属性上的数据可以重复,但其组合必须是唯一的;每个属性值都不能为空。
3、 一个表只能有一个主键。
FOREIGN KEY 约束:
1、 可以定义在表级或列级,定义FOREIGN KEY约束时要指明该列的父表。如下是该约束的代码示例。
在这里插入图片描述
注解:REFERENCES: 标示在父表中的列。
ON DELETE CASCADE(级联删除): 当父表中的列被删除时,子表中相对应的列也被删除
ON DELETE SET NULL(级联置空): 子表中相应的列置空
CHECK 约束:
1、 定义每一行必须满足的条件。
2、 用来限制列上可以接受的数据值。
3、 使用逻辑来判断数据合法性。

添加约束的语法(使用 ALTER TABLE 语句)
1、 可以添加或删除约束,但是不能修改约束。注意:添加 NOT NULL 约束要使用 MODIFY 语句;代码示例如下:
在这里插入图片描述
有效化或无效化约束。
1、 在ALTER TABLE 语句中使用 DISABLE 子句将约束无效化。
2、 在ALTER TABLE 语句中使用ENABLE 子句可将当前无效的约束激活。
注:当定义或激活UNIQUE 或 PRIMARY KEY 约束时系统会自动创建UNIQUE 或 PRIMARY KEY索引
代码示例:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值