MySQL是一個廣泛使用的關系型數據庫管理系統,它能夠提供多種約束來保證數據的完整性和一致性。以下是MySQL中常用的約束:
1. 主鍵約束(PRIMARY KEY) 主鍵是一列或多列的組合,用于唯一標識每一條記錄,這樣可以避免數據重復和數據錯誤。主鍵不能為NULL,且必須唯一。 CREATE TABLE students ( id INT PRIMARY KEY, name VARCHAR(20), age INT ); 2. 外鍵約束(FOREIGN KEY) 外鍵用于連接兩個表,它指向了另一張表中的數據行,保證了數據的一致性性和完整性。外鍵在MySQL中通過引用關系實現,即在外鍵列上建立一個指向其他表主鍵列的引用。 CREATE TABLE orders ( order_id INT, customer_id INT, PRIMARY KEY (order_id), FOREIGN KEY (customer_id) REFERENCES customers(customer_id) ); 3. 唯一約束(UNIQUE) 唯一約束保證了列中的值是唯一的,不允許重復的數據。與主鍵不同的是,唯一約束允許NULL值。如果唯一約束包含兩個或多個列,則組合值必須是唯一的。 CREATE TABLE employees ( emp_id INT PRIMARY KEY, emp_email VARCHAR(50) UNIQUE, emp_phone VARCHAR(20) ); 4. 非空約束(NOT NULL) 非空約束要求特定的列不允許插入NULL值。如果試圖插入NULL值,則會出現錯誤。 CREATE TABLE customers ( id INT PRIMARY KEY, name VARCHAR(20) NOT NULL, email VARCHAR(50) );
以上是MySQL中的主要約束,它們的使用可以有效地保證數據的完整性和一致性,提高了數據庫的穩定性和可靠性。