1、非空约束

DROP TABLE member PURGE;
CREATE TABLE member(
mid NUMBER,
name VARCHAR2(20) NOT NULL
);

2、唯一约束

DROP TABLE member PURGE;
CREATE TABLE member(
mid NUMBER,
name VARCHAR2(20),
CONSTRAINT uk_mid UNIQUE(mid)
);

3、检查约束

DROP TABLE member PURGE;
CREATE TABLE member(
mid NUMBER,
name VARCHAR2(20),
CONSTRAINT ck_mid CHECK( mid BETWEEN 1 AND 100)
);
--检查约束会降低数据库的性能,一般用的比较少。

4、主键约束

DROP TABLE member PURGE;
CREATE TABLE member(
mid NUMBER,
name VARCHAR2(20),
CONSTRAINT pk_mid PRIMARY KEY(mid)
);

5、外键约束

DROP TABLE member PURGE
DROP TABLE book PURGE
CREATE TABLE member(
mid NUMBER,
name VARCHAR2(20) NOT NULL,
CONSTRAINT pk_mid PRIMARY KEY(mid)
) --父表 CREATE TABLE book(
bid NUMBER,
title VARCHAR2(20),
mid NUMBER,
CONSTRAINT pk_bid PRIMARY KEY(bid),
CONSTRAINT fk_mid FOREIGN KEY(mid) REFERENCES member(mid)
)--子表 --子表mid取值范围仅在父表中

删除带有外键约束的表

 1、如果表中存在外键约束关系,应该先删除父表再删除子表。也可以使用不建议使用的强制删除
DROP TABLE member CASCADE CONSTRAINT;
2、父表中作为子表关联的外键字段必须设置为主键约束或者是唯一约束
3、默认情况下,如果父表记录中有对应的子表记录,那么父表记录无法被删除。如果要删除应该先删除父表中的内容然后再删除子表中的内容。也可以在建外键约束时这样写
CONSTRAINT fk_mid FOREIGN KEY(mid) REFERENCE member(mid) ON DELETE CASCADE;
在很多时候这样的级联删除并不合适,就相当于解散一个部门但不能将部门里的所有员工全部解雇一样,这个时候就需要级联更新
CONSTRAINT fk_mid FOREIGN KEY(mid) REFERENCE member(mid) ON DELETE SET NULL;

修改表约束

语法:ALTER TABLE 表名称 ADD CONSTRAINT 约束名称 约束类型(字段)[其他选项]

为member表添加主键约束
ALTER TABLE member ADD CONSTRAINT pk_mid PRIMARY KEY(mid);  说明:对于五种约束而言:以上语法使用于检查(CHECK)、唯一(UNIQUE)、主键(PRIMARY KEY)、外键(FOREIGN KEY)四类约束。
如果要为表中添加非空约束,只有一种方式,使用修改表结构的操作完成,如
ALTER TABLE member MODIFY(name VARCHAR2(20) NOT NULL)

删除表约束

语法
ALTER TABLE 表名称 DROP CONSTRAINT 约束名称 删除member表主键约束
ALTER TABLE member DROP CONSTRAINT pk_mid;

Oracle约束的更多相关文章

  1. ORACLE约束总结

    你对ORACLE约束的了解如何?比较模糊还是相当透彻?如果你对下面几个问题了如指掌的话,恭喜你,你已经对约束掌握得比较好了,不用看这篇文章了.ORACLE的约束有啥功能作用? 有哪些类型约束(不同版本 ...

  2. 【Oracle】Oracle约束的总结

    你对ORACLE约束的了解如何?比较模糊还是相当透彻?如果你对下面几个问题了如指掌的话,恭喜你,你已经对约束掌握得比较好了,不用看这篇文章了.ORACLE的约束有啥功能作用? 有哪些类型约束(不同版本 ...

  3. oracle约束约束状态和设计习惯

    oracle约束状态有几个项目,会让人迷惑,分别是: enable/disable--是否启用/禁用 validate/invalidate--确认/不确认 deferrable/not deferr ...

  4. 转 ORACLE约束总结

    https://www.cnblogs.com/kerrycode/archive/2012/05/13/2454614.html 你对ORACLE约束的了解如何?比较模糊还是相当透彻?如果你对下面几 ...

  5. Oracle约束(Constraint)详解

    概述 约束是数据库用来确保数据满足业务规则的手段,不过在真正的企业开发中,除了主键约束这类具有强需求的约束,像外键约束,检查约束更多时候仅仅出现在数据库设计阶段,真实环境却很少应用,更多是放到程序逻辑 ...

  6. Oracle 约束类型

    在Oracle中的约束类型:NOT NULLUNIQUE KeyPRIMARY KEYFOREIGN KEYCHECK create table emp--创建表格 ,注意约束( empno numb ...

  7. Oracle约束操作

    约束的概念: 约束是在表中定义的用于维护数据库完整性的一些规则.通过为表中的字段定义约 束,可以防止将错误的数据插入到表中. 注意: 1.如果某个约束只作用于单独的字段,既可以在字段级定义约束,也可以 ...

  8. 十五、oracle 约束

    一.维护数据的完整性数据的完整性用于确保数据库数据遵从一定的商业和逻辑规则,在oracle中,数据完整性可以使用约束.触发器.应用程序(过程.函数)三种方法来实现,在这三种方法中,因为约束易于维护,并 ...

  9. [Oracle]约束(constraint)

    (一)约束的概念 在Oracle中,可以通过设置约束来防止无效数据进入表中.Oracle一共有5种约束: 主键约束(primary key) 外键约束(foreign key) 唯一性约束(uniqu ...

  10. Oracle约束、索引

    Oracle中的约束有五种,分别为: 非空:not null 主键:primary key 外键:foreign key 唯一:unique 检查:check 在数据字典视图 user_constra ...

随机推荐

  1. C++ STL之LIST详解A

    List 容器 list是C++标准模版库(STL,Standard Template Library)中的部分内容.实际上,list容器就是一个双向链表,可以高效地进行插入删除元素. 使用list容 ...

  2. bzoj 1193 贪心+bfs

    1193: [HNOI2006]马步距离 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2015  Solved: 914[Submit][Statu ...

  3. jquery 格式化数字字符串(小数位)

    用于页面上格式化数字字符串,此代码为工作时所需,留作笔记,比较常用. /** * author: xg君 * 描述: 格式化数字字符串,格式化小数位 * obj为需要格式的对象(例如:input标签) ...

  4. CAAnimation保持动画结束时的效果

    配置动画时,加上一下两句 animation.removedOnCompletion = NO; animation.fillMode = kCAFillModeForwards;

  5. 3 Kafka两个版本在Zookeeper的元数据存储

    0.8 [consumers, admin, config, controller, brokers, controller_epoch] 这些节点都归于谁管理 consumers: 0.8版本的客户 ...

  6. 服务器能ping通ip,通不了域名解决方案

    # 将网卡配置文件配置固定ip后,添加DNS解析,然后重启网卡即可: [root@a ~]# tail -2 /etc/sysconfig/network-scripts/ifcfg-ens160 D ...

  7. Dialog插件artDialog

    经本人测试,发现没有layer好用,因为artDialog不能拖拽.不过除了拖拽,其他还蛮简洁的,在自定义上的灵活性也还可以.下面是我自己写的测试demo. <!DOCTYPE html> ...

  8. CodeVS4416 FFF 团卧底的后宫

    题目描述 Description 你在某日收到了 FFF 团卧底的求助,在他某日旅游回来,他的后宫们出现了一些不可调和的矛盾,如果 FFF 团卧底把自己的宝贝分给 a 号妹子,那么 b 号妹子至少要在 ...

  9. 微服务深入浅出(6)-- 熔断器Hystrix

    概念 在分布式系统中,一种不可避免的情况就是某些服务会出现故障,导致依赖他们的其他服务出现远程调度的线程问题(雪崩效应).而Hystrix提供的熔断器,通过隔离服务的访问点,能阻止这种分布式系统中出现 ...

  10. mac nginx 安装及PHP配置

    安装nginx 1.安装brew命令 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/mas ...