欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql7-2約束管理方案

錢淋西2年前10瀏覽0評論

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將會拒絕該操作。