在MySQL中,表約束是一種用于保護數據庫完整性的機制。約束是在表中定義的規則,用于限制表中數據可以填寫哪些值,以及如何填寫這些數據。在MySQL中,表約束可以分為以下幾種不同類型:
主鍵約束:主鍵是一種用于唯一標識表中每條記錄的特殊字段。主鍵約束保證了表中每個主鍵的唯一性,并且要求主鍵不允許包含空值。在MySQL中,可以使用PRIMARY KEY關鍵字來定義主鍵約束。
CREATE TABLE example ( id INT AUTO_INCREMENT, name VARCHAR(50), PRIMARY KEY(id) );
唯一約束:唯一約束要求表中某個字段的值是唯一的,但是允許包含空值。一個表可以有多個唯一約束。在MySQL中,可以使用UNIQUE關鍵字來定義唯一約束。
CREATE TABLE example ( id INT AUTO_INCREMENT, name VARCHAR(50), email VARCHAR(50), UNIQUE(email) );
外鍵約束:外鍵約束用于關聯兩個表中的數據。一個表中的列可以引用另一個表中的列,并且MySQL會保證這些引用是有效的。在MySQL中,可以使用FOREIGN KEY關鍵字來定義外鍵約束。
CREATE TABLE users ( id INT AUTO_INCREMENT, name VARCHAR(50), PRIMARY KEY(id) ); CREATE TABLE orders ( id INT AUTO_INCREMENT, user_id INT, amount DECIMAL(10,2), FOREIGN KEY (user_id) REFERENCES users(id), PRIMARY KEY(id) );
表約束是一種非常強大的工具,它可以確保數據的完整性和一致性。在創建表時,考慮使用不同類型的約束來保護您的數據。