創(chuàng)建Oracle數(shù)據(jù)庫的字段約束:
- 非空約束
- 唯一約束
- 對(duì)字段的取值的約束
- 默認(rèn)值
- 外鍵約束
1
2
3
4
|
create table tab_class( class_id number primary key , class_name varchar2(10) not null unique ); |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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子句增加。
- 為表增加主鍵約束:
1
2
3
4
5
6
7
8
9
|
--維護(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); |
添加唯一約束
1
2
3
|
--添加唯一約束,tab_check_unique表示約束的名稱 alter table tab_check add constraints tab_check_unique unique (che_name); |
添加檢查約束:
1
2
3
4
5
6
|
--添加一個(gè)字段 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); |
刪除約束:
1
2
3
|
--刪除主鍵約束 alter table tab_check drop constraints tab_check; |
禁用約束:
1
2
|
--禁用約束 alter table tab_check disable constraints tab_check; |
啟用約束
1
2
|
--啟用約束 alter table tab_check enable constraints tab_check; |
復(fù)合約束,聯(lián)合主鍵,也就是兩個(gè)字段的組合成一個(gè)主鍵
1
2
3
4
5
6
7
|
--聯(lián)合主鍵 create table tab_person( tab_firstname varchar2(10), tab_lastname varchar2(10), tab_gender varchar2(5), primary key (tab_firstname,tab_lastname) ); |
為表添加外鍵約束:
1
2
|
alter table tab_stu add constraints tab_stu foreign key (class_id) references tab_class(class_id); |
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:http://blog.csdn.net/facekbook/article/details/12214735