oracle五種約束的創建和移除:


1.主鍵約束:
    創建表的時候就添加:
    create table table_name 
    (categoryId varchar2(10),
    categoryName varchar2(30),
    primary key(categoryId));
    創建表后追加:
    alter table table_name
    add constraints constraint_name primary key(column_name);
    移除主鍵約束:
    alter table table_name 
    drop constraint constraint_name;
2.外鍵約束:保證外鍵約束的數據庫列與所引用的主鍵約束的數據列一致。
    創建表的時候就在建表語句后面添加:
    constraint constraint_name foreign key (colune_name)   
    reference table_name (column_name)
    on delete cascade;
    創建表后追加外鍵約束:
    add constraint constraint_name foreign key (column_name)
    reference table_name (column_name)
    on delete cascade;
    移除外鍵約束:
    alter table table_name 
    drop constraint constraint_name;
3.check約束:規定每一列能夠輸入的值,以保證數據的正確性。
    創建表的時候在建表語句后面添加檢查約束:
    constraint  constraint_name CHECK(檢查約束的條件);
    例:
    create table user
    (cumstonId varchar2(10),
    Name varchar2(30),
    age number(2),
    gender varchar2(2),
    constraint check_age check(age>=18 and age<=50));
    修改表的時候添加check約束:
    alter table table_name 
    add constraint constraint_name check(檢查條件);
    例:
    alter table user 
    add constraint constraint_name check(gender='' or gender='');
    移除檢查約束:
    alter table table_name 
    drop constraint constraint_name;
4.UNIQUE約束:設置在表中輸入的字段值都是唯一的。
    在創建表的時候在建表語句后面添加唯一約束:
    constraint constraint_name unique(column_name);
    例:
    create table orderinfo(
    orderId varchar2(10),
    custonId varchar2(10),
    constraint unique_orderid unique(orderId));
    在修改表的時候添加UNIQUE約束:
    alter table table_name 
    add constraint constraint_name unique(column_name);
    移除unique約束:
    alter table table_name 
    drop constraint constraint_name;
5.NOT NULL 約束:非空約束,確保字段必須有輸入值。
    在創建表的時候在需要的字段后面直接加一個 not null :
    create table table_name 
    (managerId varchar2(10),
    LoginName varchar2(10) not null,
    Password varchar2(10) not null,
    Name varchar2(10));
    在修改表的時候設置NOT NULL 約束:
    alter table table_name 
    modify column_name not null;
    移除非空約束(一般不需要刪除):
    alter table table_name 
    modify column_name null;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM