MySQL是一種常用的關系數據庫管理系統,它支持添加表約束來保證數據的完整性和有效性。通過在表的列上定義約束,可以確保插入的數據符合特定的規則。
下面介紹一些常見的表約束:
1. NOT NULL 約束:保證列不允許為空值 CREATE TABLE students ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL ); 2. UNIQUE 約束:保證列中的所有值都是唯一的 CREATE TABLE users ( id INT PRIMARY KEY, username VARCHAR(50) UNIQUE, password VARCHAR(50) NOT NULL ); 3. PRIMARY KEY 約束:定義一個列作為主鍵,保證表中的每個記錄都可以唯一地標識 CREATE TABLE products ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, price DECIMAL(10,2) NOT NULL ); 4. FOREIGN KEY 約束:定義一個列作為外鍵,指向另一張表中的主鍵,從而實現表之間的關系約束 CREATE TABLE orders ( id INT PRIMARY KEY, customer_id INT, FOREIGN KEY (customer_id) REFERENCES customers(id) ); 5. CHECK 約束:定義列值的基于一些條件的有效性規則 CREATE TABLE employees ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, age INT, CONSTRAINT age_constraint CHECK (age >18) );
以上是MySQL中添加表約束的常見方法,通過這些約束可以保證表中數據的有效性和完整性,提高數據庫的可用性和安全性。