約束作用:用來保持數據的完整性,防止無效數據進入到數據庫中。
oracle數據庫中提供的5種約束,都是限定某個列或者列的組合的。
1、主鍵約束(PRIMARY KEY):
在一個表中能唯一的標識一行。主鍵可以限定在多個列上。
3、唯一鍵約束(UNIQUE key):在一個表中能唯一的標識一行,唯一鍵也可以限定在多個列上。
主鍵和唯一鍵的區別:
a、一個表中最多只能有一個主鍵。可以多個唯一鍵。
b、主鍵所限定的列不能為null,唯一鍵所限定的列可以為null.
2、外鍵約束(FOREIGN key):
引用表:有外鍵約束的列所在的表。
被引用表:外鍵所引用的列。被引用的列只能是主鍵或者唯一鍵。
4、非空約束(NOT null):表示該列上的數據不能有null值。
5、檢查性約束(check):表示該列上的數據必須滿足某一個條件表達式。
如何創建約束:
1、在創建表的同時創建約束
a.列級別約束:在每個列寫完之后寫約束。
CREATE TABLE t_08132(id NUMBER(10) PRIMARY KEY ,
NAME CHAR(10) NOT NULL,
gender CHAR(2) CHECK (gender IN ('男','女')),
email CHAR(20) UNIQUE
)
INSERT INTO t_08132 VALUES(1,'a','男','1@neusoft.com')
INSERT INTO t_08132 VALUES(2,'a','男','2@neusoft.com')
INSERT INTO t_08132 VALUES(3,'c','男','3@neusoft.com')
oracle數據庫中提供的5種約束,都是限定某個列或者列的組合的。
1、主鍵約束(PRIMARY KEY):
在一個表中能唯一的標識一行。主鍵可以限定在多個列上。
3、唯一鍵約束(UNIQUE key):在一個表中能唯一的標識一行,唯一鍵也可以限定在多個列上。
主鍵和唯一鍵的區別:
a、一個表中最多只能有一個主鍵。可以多個唯一鍵。
b、主鍵所限定的列不能為null,唯一鍵所限定的列可以為null.
2、外鍵約束(FOREIGN key):
4、非空約束(NOT null):表示該列上的數據不能有null值。
5、檢查性約束(check):表示該列上的數據必須滿足某一個條件表達式。
如何創建約束:
1、在創建表的同時創建約束