Oracle學習筆記(八) 約束

2021-08-07 13:28:17 字數 2630 閱讀 6905

約束的作用

定義規則

確保資料完整性

非空約束

在建立表的時候設定

create table table_name(

column_name datatype not null,...

修改表的時候設定

alter table table_name modify column_name datatype not null;

刪除非空約束

alter table table_name modify couumn_name datatype null;

主鍵約束

確保表中每一行資料的唯一性,非空,唯一,智慧型設計乙個主鍵約束,但是可以是多列

在建立表時設定:

create table table_name( 

column_name datatype promary key,

例項聯合主鍵

create table userinfo (

id number(6,0),

username varchar2(20)

constraint pk_id_username primary key(id,username)

修改表時新增:

alter table tatble_name

add constraint constraint_name primary key(column_name1,....);

刪除主鍵約束

第一種disable|enable constraint constraint_name

第二種alter table table_name

drop constaint constraint_name

第三種drop primary key[cascade]

可選為級聯刪除,可以刪除有關的外來鍵資訊

外來鍵約束

兩個表中的列關聯

建立表的時候設定:

列級設定:

create table table1

(column_name datetype references table2(column_name),....);

主表為table2欄位必須是主鍵字段,同乙個型別 table1為從表

constraint constraint_name foreign key(column_name_ references table_name(column_name) [on delete cascade]

級聯刪除為可選項,如果主表中的資料被刪除了設定了級聯之後,如果主表資料被刪除,在從表中使用到該資料的資料會跟著被刪除,保證資料的完整。

修改表的時候新增設定:

add constraint constraint_name foreign key(column_name) references table_name(column_name) [on delete cascade]

刪除外來鍵約束

禁用:disable|enable constraint constraint_name;

刪除:drop constraint constraint_name;

唯一約束

保證值的唯一性。唯一約束可以有空值。唯一約束可以有多個。

建立表的時候設定唯一約束:

create table table_name(

column_name datetype uique);

表級設定

constraint constraint_name

unique(column_name);

多個要多個字句,不能用逗號分割。

修改表的時候設定唯一約束:

add constraint constraint_name unique(column_name);

刪除唯一約束:

禁用:disable|enable constraint constraint_name;

刪除:drop constraint constraint_name;

檢查約束

作用,表中的值更具有實際的意義。

create table table_name(

column_name datatype check(expressions),....);

expressions為表示式,比如:列名》0

表級建立:

constraint constraint_name check(expression);

修改表的時候新增

add constraint constraint_name

check(expressions);

刪除檢查約束

禁用:disable|enable constraint constraint_name;

刪除:drop constraint constraint_name;

資料字典檢視約束:

user_constraints

(六)Oracle學習筆記 約束

1.約束介紹 表雖然建立完成了,但是表中的資料是否合法並不能有所檢查,而如果要想針對於表中的資料做一些過濾的話,則可以通過約束完成,約束的主要功能是保證表中的資料合法性。按照約束的分類,一共有五種約束 非空約束 唯一約束 主鍵約束 檢查約束 外來鍵約束。1.1 使用如下命令檢索某個表上的所有約束 w...

Oracle學習筆記(八)

62 併發與多版本 覺得這是資料庫永恆的主題。乙個資料的高低,都是體現在這裡。至少對於開發者來說就是這樣。oracle 在併發上面,與其他資料庫最大的區別是採用多版本的概念而不是鎖來達到資料的一致性。這一點在看了之後。覺得真的是乙個很天才的發明。63.事務隔離級別。常規的來說。事務隔離級別有read...

Oracle學習筆記基礎 002 約束

定義規則 對字段的規則,比如必填項,預設值等。確保完整性 確保資料的完整性,可以限制一些錯誤或無效的資訊的插入。非空約束 在建立表時設定非空約束 預設是可以為null的 create table table name column name datatype not null,在修改表時新增非空約束...