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)
);