創(chuàng)建Oracle數(shù)據(jù)庫的字段約束:
- 非空約束
- 唯一約束
- 對字段的取值的約束
- 默認(rèn)值
- 外鍵約束
create table tab_class(
class_id number primary key,
class_name varchar2(10) not null unique
);
create table tab_stu(
stu_id number,
--學(xué)生姓名,不能為空,不能重復(fù)
stu_name varchar2(20) not null unique,
--學(xué)生姓名只能是male或female
stu_gender varchar2(6) not null check(stu_gender='male' or stu_gender='female'),
--學(xué)生年齡只能在18到60之間
stu_age number check(stu_age >18 and stu_age 60),
--郵箱可以不填寫,填寫的話不能相同
stu_email varchar2(30) unique,
stu_address varchar2(30),
--外鍵約束
class_id number not null references tab_class(class_id)
);
維護(hù)已經(jīng)創(chuàng)建好的約束:
- 可添加或刪除約束,但不能直接修改。
- 可使約束啟用和禁用。
- 非空約束必須使用MODIFY子句增加。
- 為表增加主鍵約束:
--維護(hù)約束
--創(chuàng)建約束
create table tab_check(
che_id number,
che_name varchar2(20)
);
--為表增加主鍵約束
alter table tab_check
add constraints tab_check primary key(che_id);
添加唯一約束
--添加唯一約束,tab_check_unique表示約束的名稱
alter table tab_check
add constraints tab_check_unique unique(che_name);
添加檢查約束:
--添加一個字段
alter table tab_check
add che_age number;
--添加檢查約束
alter table tab_check
add constraints tab_check_age check(che_age>18 and che_age60);
刪除約束:
--刪除主鍵約束
alter table tab_check
drop constraints tab_check;
禁用約束:
--禁用約束
alter table tab_check disable constraints tab_check;
啟用約束
--啟用約束
alter table tab_check enable constraints tab_check;
復(fù)合約束,聯(lián)合主鍵,也就是兩個字段的組合成一個主鍵
--聯(lián)合主鍵
create table tab_person(
tab_firstname varchar2(10),
tab_lastname varchar2(10),
tab_gender varchar2(5),
primary key(tab_firstname,tab_lastname)
);
為表添加外鍵約束:
alter table tab_stu
add constraints tab_stu foreign key(class_id) references tab_class(class_id);
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- 關(guān)于sql腳本導(dǎo)入Oracle時重復(fù)生成check約束的問題解決
- 在Oracle數(shù)據(jù)庫中添加外鍵約束的方法詳解
- oracle刪除主鍵查看主鍵約束及創(chuàng)建聯(lián)合主鍵
- oracle 11g em重建報(bào)唯一約束錯誤解決方法
- Oracle約束管理腳本
- Oracle如何給數(shù)據(jù)庫添加約束過程解析