六大約束:
NOT NULL,
DEFAULT,
PRIMARY KEY: 保證字段非空且唯一
UNIQUE,
CHECK,
FOREIGN KEY
外鍵,用於限制兩表的關係,用於保證該字段的值必須來自主表的關聯列的值;在從表添加外鍵約束,用於引用主表中某列的值;主表的關聯列必須是一個key(一般是主鍵或唯一);插入數據,先插從表,再主表,刪除時先刪從表,再刪主表
主鍵和唯一的對比:
主鍵是唯一且非空,唯一是允許爲空;個表只能有一個主鍵,但可以有很多個唯一鍵;主鍵和唯一鍵都允許組合,但是不推薦
添加約束
時機:創建或修改表時
列級約束:直接在字段名和類型後加,只支持默認、非空、主鍵、唯一
表級約束:字段最下面 【constraint 約束名】 約束類型 (字段名)
標識列:又稱爲自增長列,可以不用手動插入值,系統提供默認的序列值
特點:
- 標識列必須和主鍵搭配嘛?不一定,但必須是key
- 一個表只能至多一個標識列
- 標識列的類型只能是數值型
- 標識列可以通過 set auto_invrement=3設置
(一)創建表時設置標識列
SET AUTO_INCREMENT= ;
(二)修改表時設置標識列
ALTER TABLE 表名 MODIFY COLUMN 字段名 字段類型 KEY類型 AUTO_INCREMENT;
(三)修改表時刪除標識列
ALTER TABLE 表名 MODIFY COLUMN 字段名 字段類型;