《oracle数据库》约束

约束

  1. 如果不指定约束名,Oracle server 自动按照SYS_Cn的格式指定约束名
  2. 创建和修改约束:
  • 建表的同时
  • 建表之后
  1. 可以在表级或列级定义约束
  2. 可以通过数据字典视图查看约束

一、 NOT NULL(非空)

只能定义在列级

在这里插入图片描述
由于定义了hire_date列不能为空,因此在hire_date列插入空值时会出错。
在这里插入图片描述

二、 UNIQUE(唯一:空值除外)

可以定义在表级或列级

在这里插入图片描述

三、 PRIMARY KEY(主键)

可以定义在表级或列级

在这里插入图片描述

四、 FOREIGN KEY(外键)

只能定义在表级

(1) FOREIGN KEY…REFERENCES

关键字:

  • FOREIGN KEY: 在表级指定子表中的列。
  • REFERENCES: 标示在父表中的列。

在这里插入图片描述

注意:

由于定义了department_id为employee表中的外键与department表中的主键department_id相连接,而在父表中的主键ID10不存在,因此在外键列插入父表主键列不存在的值会出错。
在这里插入图片描述

(2) ON DELETE CASCADE(级联删除)

当父表中的列被删除时,子表中相对应的列也被删除。

在这里插入图片描述
当删除父表中主键ID为1000的记录时,子表中外键ID为1000的记录也会被删除。
在这里插入图片描述

(3) ON DELETE SET NULL(级联置空)

当父表中的列被删除时,子表中相对应的列置空。

在这里插入图片描述

当删除父表中主键ID为1000的记录时,子表中外键ID为1000的数据会更新为null。
在这里插入图片描述

五、 CHECK(定义每一行必须满足的条件)

可以定义在表级或列级

在这里插入图片描述

六、 ALTER TABLE(添加或删除约束)

① 添加或删除约束,但是不能修改约束。
② 有效化或无效化约束。
③ 添加 NOT NULL 约束要使用 MODIFY 语句。

(1) 添加约束

在这里插入图片描述
添加not null约束
在这里插入图片描述

(2) 删除约束

在这里插入图片描述

(3) 无效化约束

在ALTER TABLE 语句中使用 DISABLE 子句将约束无效化。
在这里插入图片描述

(4) 激活约束

在ALTER TABLE 语句中使用ENABLE 子句可将当前无效的约束激活。
在这里插入图片描述

七、 查询约束

(1) USER_CONSTRAINTS(查询约束)

在这里插入图片描述

(2) USER_CONS_COLUMNS(查询定义约束的列)

在这里插入图片描述

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

新鑫S

你的鼓励将是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值