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

mysql添加完整性約束

張吉惟2年前12瀏覽0評論

MySQL是一種關系型數據庫管理系統,允許用戶在數據庫表中添加完整性約束。數據完整性是指確保數據的準確性、適當性和一致性。在MySQL中,完整性約束是通過在表中定義規則來實現的。

MySQL支持以下類型的完整性約束:

  • 主鍵約束
  • 唯一約束
  • 外鍵約束
  • 檢查約束

下面將以學生表為例演示如何在MySQL中添加完整性約束。

CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT NOT NULL,
gender VARCHAR(10),
major VARCHAR(50),
phone VARCHAR(20) UNIQUE,
email VARCHAR(50) UNIQUE,
foreign key (major) references majors(name)
);

以上示例中,我們定義了students表,其中包含了id、name、age、gender、major、phone和email列。通過使用PRIMARY KEY關鍵詞我們定義了id列為主鍵列。主鍵列的值在表中必須唯一且不能為空。

我們還使用UNIQUE關鍵詞在phone和email列上定義了唯一約束。唯一約束要求列中的每個值都必須唯一,這意味著在表中不允許有重復的值。

外鍵約束指定一個或多個列的值必須符合另一個表中的值。在學生表中,我們使用foreign key關鍵字將major列設置為外鍵列,并將其映射到majors表中的name列。這表示students表中的major值必須是majors表中的一個有效值。如果嘗試插入一個majors表中不存在的值,則會出現外鍵約束錯誤。

最后,我們可以使用CHECK約束在表中定義各種需要的約束條件。例如,我們可以使用CHECK約束限制age列的最小和最大值:

CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT NOT NULL CHECK (age >= 18 AND age<= 60),
...
);

以上示例限制了age值必須在18到60歲之間。

在MySQL中添加完整性約束非常容易,只需在CREATE TABLE語句中使用相應的關鍵字即可。這可以確保在插入或更新表中的數據時,只允許合法的值出現。