MySQL是一個開源且廣泛使用的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它支持多種完整性約束,以確保數(shù)據(jù)的準(zhǔn)確性、一致性和完整性。在本文中,我們將看到如何在MySQL中添加完整性約束。
MySQL支持以下完整性約束:
- NOT NULL – 確保列中的每個值都不為空
- UNIQUE – 確保列中的每個值都唯一
- PRIMARY KEY – 確保列中的每個值都唯一,并且列是表的主鍵
- FOREIGN KEY – 用于確保表之間的關(guān)系
- CHECK – 用于強制執(zhí)行指定的條件
下面是如何在MySQL中添加完整性約束的代碼示例:
-- 創(chuàng)建一個名為students的表 CREATE TABLE students ( id INT NOT NULL PRIMARY KEY, name VARCHAR(50) NOT NULL, age INT, grade VARCHAR(2), UNIQUE (name) ); -- 添加一個FOREIGN KEY約束 -- 創(chuàng)建一個名為subjects的表,它將與students表相關(guān)聯(lián) CREATE TABLE subjects ( id INT NOT NULL PRIMARY KEY, name VARCHAR(50) NOT NULL, student_id INT, FOREIGN KEY (student_id) REFERENCES students(id) ); -- 添加一個CHECK約束 -- 創(chuàng)建一個名為orders的表,它確保訂單總額不小于100 CREATE TABLE orders ( id INT NOT NULL PRIMARY KEY, customer_id INT NOT NULL, total_amount DECIMAL(10,2) NOT NULL, CHECK (total_amount >= 100) );
在MySQL中添加完整性約束既可以在創(chuàng)建表時完成,也可以在表已經(jīng)創(chuàng)建之后通過ALTER TABLE語句添加。使用完整性約束可以提高數(shù)據(jù)的質(zhì)量和可靠性,避免潛在的錯誤和數(shù)據(jù)損壞。