SQL 約束用於規定表中的數據規則。
如果存在違反約束的數據行爲,行爲會被約束終止
在 SQL 中,我們有如下六個約束:
- NOT NULL -非空
- UNIQUE -唯一性
- PRIMARY KEY -主鍵
- FOREIGN KEY -外鍵
- CHECK -檢測
- DEFAULT -默認值
1.PRIMARY KEY 主鍵,是NOT NULL和UNIQUE的結合,一張表可以有多個UNIQUE,但是只能有一個主鍵,主鍵可以由多列組合而成。 2.FOREIGN KEY 約束用於預防破壞表之間連接的行爲。 FOREIGN KEY 約束也能防止非法數據插入外鍵列,因爲它必須是它指向的那個表中的值之一。 3.CHECK 約束用於限制列中的值的範圍。 如果對單個列定義 CHECK 約束,那麼該列只允許特定的值。 如果對一個表定義 CHECK 約束,那麼此約束會基於行中其他列的值在特定的列中對值進行限制。
如需命名 CHECK 約束,並定義多個列的 CHECK 約束,請使用下面的 SQL 語法:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')
)