什么是規則?
規則是MySQL創建表時需要添加的約束條件,它可以限制表中某些列的取值范圍或添加鍵約束,以保證數據的正確性和完整性。
添加列級規則
在創建表時,可以通過列級規則來限制表中某些列的取值范圍。比如創建一個學生表,需要限制學生的年齡必須大于等于18歲,可以使用以下語句:
CREATE TABLE student ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(20) NOT NULL, age INT NOT NULL CHECK (age >= 18), PRIMARY KEY (id) );
其中CHECK為列級規則的關鍵字,age >= 18為規則表達式。
添加表級規則
除了列級規則,還可以使用表級規則來添加鍵約束,比如添加主鍵、外鍵等。比如創建一個訂單表,需要添加一個主鍵和一個外鍵:
CREATE TABLE orders ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(20) NOT NULL, customer_id INT NOT NULL, PRIMARY KEY (id), CONSTRAINT fk_customer FOREIGN KEY (customer_id) REFERENCES customers(id) );
其中CONSTRAINT為表級規則的關鍵字,fk_customer為外鍵的名稱,FOREIGN KEY (customer_id) REFERENCES customers(id)為規則表達式。
總結
MySQL創建表時添加規則是保證數據正確性和完整性的重要手段,它可以限制列的取值范圍或添加鍵約束。