MySQL中的表與約束是幾乎不可分割的一對組合,表的約束可以添加在數據表的字段上,以確保數據的完整性和一致性。下面介紹如何在MySQL中添加數據表的約束。
CREATE TABLE `table_name` ( `column_name` DATA_TYPE CONSTRAINT_TYPE, `column_name2` DATA_TYPE CONSTRAINT_TYPE, …… ) ENGINE=InnoDB;
上述代碼中:
- table_name:數據表的名稱,命名合法且唯一
- column_name:數據表中字段的名稱
- DATA_TYPE:數據類型,如int、varchar、text等
- CONSTRAINT_TYPE:約束類型,如主鍵PRIMARY KEY、非空NOT NULL、唯一UNIQUE、外鍵FOREIGN KEY
下面分別介紹主鍵PRIMARY KEY、非空NOT NULL、唯一UNIQUE、外鍵FOREIGN KEY約束。
主鍵PRIMARY KEY
主鍵是一個數據表中的唯一標識符,通常是一個或多個字段的組合。主鍵值必須是唯一的,也就是說同一數據表中不能有兩行或以上的記錄擁有相同的主鍵值。
CREATE TABLE `table_name` ( `id` INT NOT NULL PRIMARY KEY, `column_name2` DATA_TYPE, …… ) ENGINE=InnoDB;
非空NOT NULL
非空約束規定字段的值不能為空值。
CREATE TABLE `table_name` ( `column_name` DATA_TYPE NOT NULL, `column_name2` DATA_TYPE, …… ) ENGINE=InnoDB;
唯一UNIQUE
唯一約束規定字段的值必須是唯一的,但是可以為空。
CREATE TABLE `table_name` ( `column_name` DATA_TYPE UNIQUE, `column_name2` DATA_TYPE, …… ) ENGINE=InnoDB;
外鍵FOREIGN KEY
外鍵約束是一種引用另一個表中主鍵的字段。外鍵約束可以確保參照完整性,避免錯誤的引用問題。
CREATE TABLE `table_name` ( `id` INT NOT NULL PRIMARY KEY, `employee_id` INT, …… CONSTRAINT `fk_employee_id` FOREIGN KEY (`employee_id`) REFERENCES `employees` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB;
上述代碼中,foreign key中的employee_id是當前表中的外鍵列,references中的employees和id分別是外鍵的表名和列名,on delete cascade表示級聯刪除。
上一篇css設置元素鋪滿頁面
下一篇mysql增加用戶命令