SQL 約束(Constraints)
SQL 約束(Constraints)
SQL 約束用於規定表中的數據規則。
如果存在違反約束的數據行為,行為會被約束終止。
約束可以在創建表時規定(通過 CREATE TABLE 語句),或者在表創建之後規定(通過 ALTER TABLE 語句)。
SQL CREATE TABLE + CONSTRAINT 語法
CREATE TABLE table_name
(
column_name1 data_type(size) constraint_name,
column_name2 data_type(size) constraint_name,
column_name3 data_type(size) constraint_name,
....
);
(
column_name1 data_type(size) constraint_name,
column_name2 data_type(size) constraint_name,
column_name3 data_type(size) constraint_name,
....
);
在 SQL 中,我們有如下約束:
- NOT NULL - 指示某列不能存儲 NULL 值。
- UNIQUE - 保證某列的每行必須有唯一的值。
- PRIMARY KEY - NOT NULL 和 UNIQUE 的結合。確保某列(或兩個列多個列的結合)有唯一標識,有助於更容易更快速地找到表中的一個特定的記錄。
- FOREIGN KEY - 保證一個表中的數據匹配另一個表中的值的參照完整性。
- CHECK - 保證列中的值符合指定的條件。
- DEFAULT - 規定沒有給列賦值時的默認值。
在下面的章節,我們會詳細講解每一種約束。