標籤:arch 座位號 唯一約束 reference arc end div name 資料
1 約束1.1 約束的基本介紹
- 一種限制,用於限制表中的資料,為了保證表中的準確和可靠性。
1.2 約束的分類
- NOT NULL:非空約束。
- DEFAULT:預設約束,用於保證該欄位有預設值。
- PRIMARY KEY:主鍵約束,用於保證該欄位具有唯一性,並且非空。
- UNIQUE:唯一約束,用於保證該欄位具有唯一性,可以為空白。
- CHECK:檢查約束,MySQL不支援。
- FOREIGN KEY:外鍵約束,用於限制兩個表的關係,用於保證該表的欄位的值必須來自於主表的關聯列的值。
1.3 添加約束的時機
1.4 資料行層級條件約束和表級約束
create table 表名( 列名 欄位類型 資料行層級條件約束, ……, 表級約束)
- 資料行層級條件約束:除了外鍵約束,都支援。
- 表級約束:除了非空和預設,都支援。
1.5 約束的應用
-- 添加資料行層級條件約束CREATE TABLE stu_info ( # 主鍵 id INT PRIMARY KEY auto_increment, #學生姓名 stu_name VARCHAR (20) NOT NULL, #性別 gender CHAR (1) DEFAULT ‘男‘, #座位號 seat INT UNIQUE, #年齡 age INT DEFAULT 18);
CREATE TABLE major ( id INT PRIMARY KEY auto_increment, major_name VARCHAR (20));-- 添加表級約束CREATE TABLE stu_info ( # 主鍵 id INT PRIMARY KEY auto_increment, #學生姓名 stu_name VARCHAR (20) NOT NULL, #性別 gender CHAR (1) DEFAULT ‘男‘, #座位號 seat INT UNIQUE, #年齡 age INT DEFAULT 18, #外鍵 marjor_id INT, CONSTRAINT fk_marjor_id FOREIGN KEY (marjor_id) REFERENCES major(id));
MySQL基礎五