zoukankan      html  css  js  c++  java
  • 约束(constraint)

    --not null  非空

    --unique  唯一

    --primary key 主键

    --foreign key 外键

    --check  检查

    非空约束只能建立在列上

    --not null  非空

    create table emp3(
    id number(10) constraint emp3_id_nn not null,
    name varchar2(20) not null,
    salary number(10,2)
    );

    --unique  唯一

    create table emp5(
    id number(10) constraint emp3_id_uk unique,
    name varchar2(20) constraint emp5_nn not null,
    email varchar2(20),
    salary number(10,2),
    --表级约束
    constraint emp3_email_uk  unique(email)
    );

    --primary key 主键  自身也有非空性,唯一性

    create table emp7(
    id number(10) constraint emp7_id_pk primary key,
    name varchar2(20) constraint emp7_nn not null,
    email varchar2(20),
    salary number(10,2),
    --表级约束
    constraint emp7_email_uk  unique(email)
    );
    create table emp8(
    id number(10),
    name varchar2(20) constraint emp8_nn not null,
    email varchar2(20),
    salary number(10,2),
    --表级约束
    constraint emp8_email_uk  unique(email),
    constraint emp8_id_pk  primary key(id)
    );

    --foreign key 外键

    create table emp9(
    --列级约束 id
    number(10), name varchar2(20) constraint emp9_nn not null, email varchar2(20), salary number(10,2), department_id number(10), --表级约束 constraint emp9_email_uk unique(email), constraint emp9_id_pk primary key(id), constraint emp9_dept_id_fk foreign key(department_id) references departments(department_id) );

    foreign key约束的 关键字:

    --foreign key  :在表级指定子表中的列

    --referencrces :标示在父表中的列

    -- on  delete cascade(级联删除) :当父表中的列被删除时, 子表中对应的列也被删除

    -- on delete set null(级联置空):当子表中相应的列置空

    --check  检查

    create table emp10(
    id number(10),
    name varchar2(20) constraint emp10_nn not null,
    email varchar2(20),
    salary number(10,2) check(salary>1500 and salary<30000),
    department_id  number(10),
    --表级约束
    constraint emp10_email_uk  unique(email),
    constraint emp10_id_pk  primary key(id),
    constraint emp10_dept_id_fk  foreign key(department_id) references departments(department_id)on delete cascade
    );

    使用alte table语句:

                          添加或删除约束,但不能修改约束 :  

                                                                               修改  -- alter table emp5 modify(salary  number(10,2)  not null);

                                                                               删除  --  alter  table  emp5  drop  constraint emp5_name_nn ;   

                                                                               添加 --  alter  table  emp5  add  constraint emp5_uk unique(name) ;                

                          有效化或无效化:

                                                                               失效 --  alter  table  emp3  disable  constraint emp3_email_uk ;

                                                                               有效 --  alter  table  emp3  enable  constraint emp3_email_uk ;

                          添加not null 约束要使用modify语句

    All that work will definitely pay off
  • 相关阅读:
    java-scanner
    java-hashmap
    单点故障和脑裂
    Client将数据读写HDFS流程
    Zookeeper的作用,在Hadoop及hbase中具体作用
    hadoop 管理命令dfsadmin
    如何确定 Hadoop map和reduce的个数--map和reduce数量之间的关系是什么?
    Spark 数据倾斜
    zookeeper选举
    hive安装详解
  • 原文地址:https://www.cnblogs.com/afangfang/p/12559161.html
Copyright © 2011-2022 走看看