在SQL中,可以使用約束(constraint)來限定數據范圍。以下是一些常見的約束方式:
主鍵約束(Primary key constraint):用于限定某一列或列組合的值在表中是唯一的,且不能為空。主鍵可以用于標識表中的每一行,常用于創建關聯關系。 示例:CREATE TABLE students (id INT PRIMARY KEY, name VARCHAR(50));
唯一約束(Unique constraint):用于限定某一列或列組合的值在表中是唯一的,但可以為空。 示例:CREATE TABLE employees (id INT UNIQUE, email VARCHAR(50));
非空約束(Not null constraint):用于限定某一列的值不能為空。 示例:CREATE TABLE products (id INT, name VARCHAR(50) NOT NULL);
外鍵約束(Foreign key constraint):用于限定某一列與其他表的關聯關系。外鍵約束確保了數據的完整性,只允許插入或更新值為另一個表中已存在的鍵值。 示例:CREATE TABLE orders (id INT PRIMARY KEY, product_id INT, FOREIGN KEY (product_id) REFERENCES products(id));
檢查約束(Check constraint):用于限制某一列的取值范圍,可以使用邏輯表達式或自定義函數來實現。 示例:CREATE TABLE employees (id INT, age INT CHECK (age > 18));
這些約束可以在CREATE TABLE語句中使用,也可以在ALTER TABLE語句中添加到已存在的表中。約束可以確保數據的完整性和一致性,有助于避免插入無效或不符合規定的數據。