SQL約束條件可以通過使用CREATE TABLE語句中的約束子句來定義。以下是一些常見的約束條件及其語法:
1. NOT NULL約束:確保列中的值不為空。
語法:col_name data_type NOT NULL
2. UNIQUE約束:確保列中的值是唯一的。
語法:col_name data_type UNIQUE
3. PRIMARY KEY約束:將列定義為表的主鍵,唯一標識表中的每一行。
語法:col_name data_type PRIMARY KEY
4. FOREIGN KEY約束:用于定義與其他表的關系。
語法:col_name data_type FOREIGN KEY REFERENCES table_name(col_name)
5. CHECK約束:用于定義列中的值必須滿足的條件。
語法:col_name data_type CHECK (condition)
6. DEFAULT約束:為列指定默認值。
語法:col_name data_type DEFAULT default_value
下面是一個示例,展示了如何在創建表時使用約束條件:
```sql
CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT CHECK (age >= 18),
department_id INT,
FOREIGN KEY (department_id) REFERENCES departments(id)
);
```
在上述示例中,我們創建了一個名為students的表,其中包含了id、name、age和department_id列,并為每列定義了不同的約束條件。