SQL Constraints 約束條件

約束條件(Constraints)用來限制資料表中可以儲存的資料類型,確保資料的準確性和可靠性。如果違反約束條件,操作會被拒絕並產生錯誤。

約束條件可以在 CREATE TABLE 建立資料表時定義,也可以之後用 ALTER TABLE 新增或移除。

約束條件類型

SQL 提供以下幾種約束條件:

約束條件說明
NOT NULL欄位不能是 NULL
UNIQUE欄位值必須唯一
PRIMARY KEY主鍵,唯一識別每筆資料
FOREIGN KEY外鍵,建立資料表之間的關聯
CHECK限制欄位值必須符合條件
DEFAULT設定欄位的預設值

約束條件範例

CREATE TABLE employees (
    id INT PRIMARY KEY,                    -- 主鍵
    name VARCHAR(50) NOT NULL,             -- 不能為空
    email VARCHAR(100) UNIQUE,             -- 必須唯一
    department_id INT,                     -- 外鍵欄位
    salary DECIMAL(10,2) CHECK (salary > 0), -- 必須大於 0
    status VARCHAR(20) DEFAULT 'active',   -- 預設值
    FOREIGN KEY (department_id) REFERENCES departments(id)
);