SQL約束(主鍵約束、外來鍵約束、不允許空值、值唯一、值預設、值檢查)
阿新 • • 發佈:2018-12-19
NOT NULL 不允許空值約束
NOT NULL 約束強制列不接受 NULL 值(NULL值就是沒有值或缺值)。NOT NULL 約束強制欄位始終包含值,即不向欄位新增值,就無法插入新記錄或者更新記錄,也就是在插入或更新行時該列必須有值。
注意:NULL值時沒有值,它不是空串、空格等。空串、空格等是一個有效的值,它不是無值。
CREATE TABLE 表名
(
列名稱 資料型別以及長度 NOTNULL,
……
);
UNIQUE 唯一值約束
UNIQUE 約束唯一標識資料庫表中的每條記錄。UNIQUE 和 PRIMARY KEY 主鍵約束均為列或列集合提供了唯一性的保證。PRIMARY KEY 主鍵約束擁有自動定義的 UNIQUE 約束。
注意:每個表可以有多個 UNIQUE 約束,但是每個表只能有一個 PRIMARY KEY 約束。
CREATE TABLE 表名 ( 列名稱 資料型別以及長度 UNIQUE; …… ); MySQL語法: CREATE TABLE 表名 ( 列名稱 資料型別以及長度; UNIQUE (列名稱); …… ); 為多個列定義 UNIQUE 約束 方法一:(一次性指定) CREATE TABLE 表名 ( 列名稱1 資料型別以及長度 UNIQUE; 列名稱2 資料型別以及長度 UNIQUE; …… CONSTRAINT 約束名 UNIQUE (列名稱1,列名稱2,……) ); 方法二:(對每哥列進行指定) CREATE TABLE 表名 ( 列名稱1 資料型別以及長度 UNIQUE; 列名稱2 資料型別以及長度 UNIQUE; …… );