(六)Oracle學習筆記 約束

2021-09-07 13:08:27 字數 1138 閱讀 5522

1. 約束介紹

表雖然建立完成了,但是表中的資料是否合法並不能有所檢查,而如果要想針對於表中的資料做一些過濾的話,則可以通過約束完成,約束的主要功能是保證表中的資料合法性

按照約束的分類,一共有五種約束:非空約束、唯一約束、主鍵約束、檢查約束、外來鍵約束。

1.1 使用如下命令檢索某個表上的所有約束(where條件中的表名和使用者名稱要大寫)

對於表中的constraint_type

c:校驗約束,表

o:唯讀約束

p:主鍵約束

r:外來鍵約束

u:唯一約束

v:校驗約束,檢視

1.2 定義約束的方法有兩種:列級約束定義表級約束定義

以定義主鍵約束的方法來表現兩種方法的區別

列級:

create

table

t_user(

id intprimary

key);

表級:

create

table

t_user(

id int,

constraint pk_user_id primary

key(id)

);

這裡可以看出兩者最顯著的差別是定義時間上的不同,而且列級約束定義不能定義約束的名稱。

1.3 約束命名規範

約束名稱建議自己定義一套命名規則,否則使用系統生成的約束名,很難能把它和對應的表、字段聯絡起來。

如果約束名稱超過32位長度,建議應該縮寫表名,而不應用nn_表名_數字。不過具體視情況而定,很多時候 df_表名_列名 這樣命名,往往超出了32字元。所以有時候需要縮寫表面或是採用其它規則。

2. 幾種約束的介紹

Oracle學習筆記(八) 約束

約束的作用 定義規則 確保資料完整性 非空約束 在建立表的時候設定 create table table name column name datatype not null,修改表的時候設定 alter table table name modify column name datatype no...

Oracle學習筆記基礎 002 約束

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

oracle學習筆記 十七 外來鍵約束

建立兩張表,新增外來鍵約束 customers 使用者表,一的一方 orders 訂單表,多的一方 sql create table customers 2 id number 3 primary key,3 name varchar2 4 not null unique 4 表已建立。sql in...