MySQL 7-2約束管理方案
MySQL 7-2的約束管理方案允許數據庫管理員在創建表時為各個列添加約束,從而進一步限制表中數據的插入或修改。常見的約束包括:PRIMARY KEY(主鍵)、FOREIGN KEY(外鍵)、UNIQUE(唯一)和CHECK(檢查)等。下面將分別介紹這四種約束的用法。
1. PRIMARY KEY(主鍵)
CREATE TABLE person ( id INT NOT NULL PRIMARY KEY, name VARCHAR(50), age INT );
在上面的例子中,id列被定義成了主鍵,主鍵的特點是列中的值不能為NULL,并且每個值必須唯一。如果試圖向該表中插入重復的id值,MySQL將會提示錯誤。
2. FOREIGN KEY(外鍵)
CREATE TABLE orders ( order_id INT NOT NULL PRIMARY KEY, customer_id INT, order_date DATE, CONSTRAINT fk_customer FOREIGN KEY (customer_id) REFERENCES customers(customer_id) );
在上面的例子中,定義了一個外鍵fk_customer,該外鍵與customers表的customer_id列相關聯。這意味著在orders表中,customer_id列只能包含在customers表中已經存在的customer_id值,否則MySQL會拒絕插入該數據。
3. UNIQUE(唯一)
CREATE TABLE employees ( id INT NOT NULL PRIMARY KEY, name VARCHAR(50) UNIQUE, email VARCHAR(255) UNIQUE );
在上面的例子中,name和email列都被定義成了UNIQUE,這意味著在表中不能有兩行數據的name或email列的值相同。
4. CHECK(檢查)
CREATE TABLE products ( id INT NOT NULL PRIMARY KEY, name VARCHAR(50), price DECIMAL(5,2), CONSTRAINT chk_price CHECK (price >0) );
在上面的例子中,定義了一個CHECK約束chk_price,該約束要求price列的值必須大于0。如果試圖向表中插入price<=0的數據,MySQL將會拒絕該操作。
上一篇vue css 分開寫