色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql完整性約束怎么設置

錢諍諍2年前9瀏覽0評論

MySQL是一種常用的關系型數據庫管理系統,在數據庫設計中,數據完整性是非常重要的,這可以通過完整性約束來實現。

MySQL支持五種類型的完整性約束:NOT NULL、UNIQUE、PRIMARY KEY、FOREIGN KEY和CHECK。

NOT NULL: 
該約束確保一個列不允許為空值。例如,下面的代碼在創建表時定義了一個NOT NULL約束,使名字列不能為空:
CREATE TABLE student (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT
);
UNIQUE: 
該約束確保一個列的所有值都是唯一的。例如,下面的代碼在創建表時定義了一個UNIQUE約束,使手機號不能重復:
CREATE TABLE user (
id INT PRIMARY KEY,
name VARCHAR(50),
phone VARCHAR(20) UNIQUE,
email VARCHAR(50)
);
PRIMARY KEY: 
PRIMARY KEY約束確保一個列或一組列的值是唯一的,并作為表的主鍵。例如,下面的代碼在創建表時定義了一個PRIMARY KEY約束,并將id列作為主鍵:
CREATE TABLE student (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT
);
FOREIGN KEY: 
該約束用于確保關系數據庫中的引用完整性。它創建了一個指向另一個表的外鍵,以確保一致性。例如,下面的代碼在創建表時定義了一個FOREIGN KEY約束,使course表中的student_id列與student表中的id列相關聯:
CREATE TABLE student (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT
);
CREATE TABLE course (
id INT PRIMARY KEY,
course_name VARCHAR(50),
student_id INT,
FOREIGN KEY (student_id) REFERENCES student(id)
);
CHECK: 
該約束用于確保插入到表中的所有值都符合特定的條件。例如,下面的代碼在創建表時定義了一個CHECK約束,使age列的值必須大于等于18:
CREATE TABLE user (
id INT,
name VARCHAR(50),
age INT CHECK (age >= 18),
email VARCHAR(50)
);

上述五種完整性約束在MySQL中都可以使用。在設計數據庫時,應根據需要選擇適當的約束類型,并確保約束設置正確。