Oracle數(shù)據(jù)庫的字段約束創(chuàng)建和維護(hù)示例
創(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_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;
復(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)文章
Oracle數(shù)據(jù)庫實現(xiàn)遠(yuǎn)程訪問方法
Oracle數(shù)據(jù)庫的遠(yuǎn)程連接可以通過多種方式來實現(xiàn),下面這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫實現(xiàn)遠(yuǎn)程訪問的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06
Oracle查詢語句中rownum與rowid的不同之處分析
這篇文章主要介紹了Oracle查詢語句中rownum與rowid的不同之處分析,需要的朋友可以參考下2014-07-07
Oracle 解決ORA-00257 Archiver error 報錯問題解決
訂單投資交易環(huán)境進(jìn)行 impdb 數(shù)據(jù)泵恢復(fù)數(shù)據(jù),執(zhí)行到一半,報錯終止,歸檔策略保留時間較長,或歸檔頻率過高,導(dǎo)致數(shù)據(jù)庫掛載盤符空間不足,本文給大家分享Oracle 解決ORA-00257 Archiver error 報錯問題解決,感興趣的朋友一起看看吧2023-12-12
oracle中add_months()函數(shù)及用法總結(jié)
這篇文章主要介紹了oracle中add_months()函數(shù)及用法總結(jié),非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08
oracle不支持的字符集orai18n.jar?ZHS16GBK異常問題解決辦法
字符集是數(shù)據(jù)庫中用來表示和存儲字符的編碼系統(tǒng),這篇文章主要給大家介紹了關(guān)于oracle不支持的字符集orai18n.jar?ZHS16GBK異常問題的解決辦法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-02-02
安裝oracle11g INS-30131執(zhí)行安裝程序驗證所需的初始設(shè)置失敗的解決方法
這篇文章主要為大家詳細(xì)介紹了安裝oracle11g INS-30131執(zhí)行安裝程序驗證所需的初始設(shè)置失敗的解決方法,感興趣的小伙伴們可以參考一下2016-07-07
教你一招怎樣查看Oracle中sid和service_name
Oracle的SID和Service?Name是數(shù)據(jù)庫中的兩個重要概念,下面這篇文章主要給大家介紹了關(guān)于如何查看Oracle的sid和service_name的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12

