Oracle的五類約束

2021-05-25 06:01:45 字數 1521 閱讀 6828

1

語法1.1

行級定義

1.2

表級定義

2

not null

只能行級定義.

sql> create table tn0(a number(4) not null, b varchar2(20));

sql> create table tn1(a number(4) constraint nn_tn1_a not null, b varchar2(20));

3

unique

sql> create table tu0(a number(4) unique, b varchar2(20));

sql> create table tu1(a number(4) constraint u_tu1_a unique, b varchar2(20));

sql> create table tu2(a number(4), b varchar2(20),constraint u_tu2_a unique(a));

sql> create table tu3(a number(4), b varchar2(20),constraint u_tu3_a unique(a, b));

4

主鍵sql> create table t0(a number(4) primary key, b varchar2(20));

sql> create table t1(a number(4), b varchar2(20), primary key(a));

sql> create table t2(a number(4) constraint pk_t2 primary key, b varchar2(20));

sql> create table t3(a number(4), b varchar2(20), constraint pk_t3 primary key(a));

sql> create table t4(a number(4), b varchar2(20), constraint pk_t4 primary key(a, b));

5

外來鍵sql> create table tf_p(a number(4) primary key, b varchar2(20));

sql> insert into tf_p values(1, 'aa');

sql> insert into tf_p values(2, 'bb');

sql> insert into tf_p values(3, 'cc');

sql> create table tf_s(a number(4) constraint fk_tf_sa_ref_tf_pa references tf_p , c varchar2(20));

Oracle的五種約束

1.非空 not null 約束 所定義的列不絕對不能為空 例如 將已經建立好的表book中的bookname欄位修改為不為空 利用 alter table.modify not null alter table book modify bookname not null 2.主鍵 primary ...

oracle中的五種約束

1.not null 非空 防止null值進入指定的列,在單列基礎上定義,預設情況下,oracle允許在任何列中有null值.2.check 檢查 檢查在約束中指定的條件是否得到了滿足.3.unique 唯一 保證在指定的列中沒有重複值.在該表中每乙個值或者每一組值都將是唯一的.4.primary ...

Oracle建立約束 刪除約束

1.定義not null 約束not null 約束只能在列級定義,不能在表級定義 例 create table emp01 eno int not null,name varchar2 10 constraint nn name2 not null,salary number 6,2 2.定義un...