• Oracle创建约束


    一、约束类型

    • 非空约束:该列不允许包含空值。
    • 主键约束:唯一性,非空性。
    • 唯一约束:唯一性,可以空,但只能一个。
    • 外键约束:需要建立两表间的关系并引用主表的列。
    • 检查约束:对该列数据的范围、格式的限定。

    二、创建表时定义约束

    create table table_name(id number  constraint table_nn not null,name char(6));(字段中添加)
    create table table_name(id number,name char(6),constraint table_uk unique(name) );(末尾添加)
    
        constraint table_nn 自定义约束名,省略则由系统生成
        [not null]	非空约束(只能在字段中定义)
        [unique]	唯一性约束
        [primary key]	主键约束
        [check (salary>1000)]	检查约束
        [primary key(id,name)]	联合主键
        [foreign key(dept_id) references dept(id)]	外键约束
        注意:联合主键和外键必须在末尾添加

    三、表存在时添加约束

    alter table table_name add unique(id);
    alter table emp add(primary key(id),unique(name),foreign key(dept_id) references dept(id));
        constraint table_pk 自定义约束名,省略则由系统生成
        [unique]	唯一性约束
        [primary key]	主键约束
        [check (id>3)	检查约束
        [primary key(id,name)]	联合主键
        [foreign key(id) references table_name1(id))	外键约束

    四、修改表定义约束

    alter table emp modify id number primary key; 定义单个
        constraint table_nn 自定义约束名,省略则由系统生成
        [not null]	非空约束
        [unique]	唯一性约束
        [primary key]	主键约束
        [check (id>3)	检查约束
    
    alter table emp modify (primary key(id,name),dept_id number, foreign key(dept_id) references dept(id));定义多个
        [primary key(id,name)]	联合主键
        [foreign key(id) references table_name1(id))	外键约束
     	注意:联合主键和外键必须要带括号

    五、启用和停止约束

    禁用约束:
    alter table table_name disable constraint constraint_name;
     
    启用约束:
    alter table table_name endable constraint constraint_name;
     
    级联禁用(同时禁用以它为外链接的字段约束):
    alter table table_name disable constraint constraint_name cascade;
    
    constraint_name 约束名称

    六、删除约束

    alter table emp drop constraint ID_PK;
    alter table emp drop constraint ID_PK cascade;级联删除
  • 相关阅读:
    setsockopt()使用方法(參数具体说明)
    Hadoop 2.4.0全然分布式平台搭建、配置、安装
    对称加密与非对称加密
    学习模式----观察者模式(3)
    Java实现 蓝桥杯VIP 算法训练 特殊的数字四十
    Java实现 蓝桥杯VIP 算法训练 特殊的数字四十
    Java实现 蓝桥杯VIP 算法训练 特殊的数字四十
    Java实现 蓝桥杯VIP 算法训练 s01串
    Java实现 蓝桥杯VIP 算法训练 s01串
    Java实现 蓝桥杯VIP 算法训练 s01串
  • 原文地址:https://www.cnblogs.com/baisha/p/15382575.html
Copyright © 2020-2023  润新知