創建Oracle數據庫的字段約束:
create table tab_class( class_id number primary key, class_name varchar2(10) not null unique );
create table tab_stu( stu_id number, --學生姓名,不能為空,不能重復 stu_name varchar2(20) not null unique, --學生姓名只能是male或female stu_gender varchar2(6) not null check(stu_gender='male' or stu_gender='female'), --學生年齡只能在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) );
維護已經創建好的約束:
--維護約束 --創建約束 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_age<60);
刪除約束:
--刪除主鍵約束 alter table tab_check drop constraints tab_check;
禁用約束:
--禁用約束 alter table tab_check disable constraints tab_check;
啟用約束
--啟用約束 alter table tab_check enable constraints tab_check;
復合約束,聯合主鍵,也就是兩個字段的組合成一個主鍵
--聯合主鍵 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);
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。
新聞熱點
疑難解答