• Oracle的五种约束


    1.非空(NOT NULL)约束:所定义的列不绝对不能为空;

      例如:将已经创建好的表BOOK中的bookname字段修改为不为空:

      利用 ALTER TABLE.......MODIFY .......NOT NULL;

    ALTER TABLE BOOK MODIFY bookname NOT NULL;

    2.主键(PRIMARY KEY)约束:唯一的标识表中的每一行;

      例如:为已经创建好的表book中的bookid字段添加名称为“BOOK_PK的主键”

      利用ALTER TABLE  ..... ADD CONSTRAINT BOOK_PK PRIMARY KEY(字段);

    ALTER TABLE BOOK ADD CONSTRAINT BOOK_PK PRIMARY KEY(bookid);

    3.唯一(UNIQUE)约束:每列字段的值不能相同;

      例如:为表usertable中的phone字段添加唯一约束

      利用ALTER TABLE  ..... ADD CONSTRAINT BOOK_PK PRIMARY KEY(字段);

    ALTER TABLE usertable ADD CONSTRAINT PHONE_UK unique (phone);

    4.外键(FOREIGN KEY)约束:用来维护从表与主表之间的引用完整性;

      例如dept为主表,emp为从表(外键表),emp中的外键列deptno引用dept中的主键

    ALTER TABLE emp ADD CONSTRAINT EMP_TEPTNO_FK FOREIGN KEY(deptno) REFERENCES dept(deptno);

      级联删除:删除引用表(主表)中的被引用列时,外键表中对应的数据也将被删除(实现方式如下)

    ALTER TABLE emp ADD CONSTRAINT EMP_TEPTNO_FK FOREIGN KEY(deptno) REFERENCES dept ON DELETE CASCADE;

    5.条件(CHECK)约束:表中每行都要满足该约束条件。

      例如:创建已给学生表(Student),为年龄列(Age)定义一个disable状态的Check约束(Age>0 and Age<120)(建表时的部分代码如下:)

    Age int constraint AGE_CK check(Age>0 and Age<120) disable,
  • 相关阅读:
    [BZOJ 4318] OSU!
    [BZOJ 4720][NOIP 2016] 换教室
    [Tyvj 1729] 文艺平衡树
    [BZOJ 1500]维修数列 [Splay Tree从进阶到住院]
    [学习笔记] CDQ分治 从感性理解到彻底晕菜
    [COGS 1752] 摩基亚Mokia
    [Tyvj 1730] 二逼平衡树
    [学习笔记] Splay Tree 从入门到放弃
    [Tyvj 1728] 普通平衡树
    [BZOJ 3594] 方伯伯的玉米田
  • 原文地址:https://www.cnblogs.com/AIHEN/p/9393639.html
Copyright © 2020-2023  润新知