數據約束
——對用戶操作表的數據進行約束
1、默認值
——當用戶對使用默認值的字段不插入值的時候,就使用默認值
1)對默認值字段插入null是可以的。
2)對默認值字段可以插入非null
【例如:address varchar(20) default '廣州天河' ——默認值】
2、非空
——限制字段必須賦值
1)非空字符必須賦值
2)非空字符不能賦null
【例如:gender varchar(2) not null ——非空】
3、唯一
——對字段的值不能重復
1)唯一字段可以插入null
2)唯一字段可以插入多個null
【例如:id int inique ——唯一】
4、主鍵
——唯一+非空
1)通常情況下,每張表都會設置一個主鍵字段。用於標記表中的每條記錄的唯一性。
2)建議不要選擇表的包含業務含義的字段作為主鍵,建議給每張表獨立設計一個非業務含義的id字段。
【例如:id int primary key —— 主鍵】
5、自增長
——對應值自動增長
【例如:id int(4) zerofill primary key auto_increment ——自增長,從0開始 zerofill零填充】
當出現兩種表的情況時為了解決數據冗余高問題會獨立出一張表
例如: 員工表 和 部門表
問題出現:在插入員工表數據的時候,員工表的部門ID字段可以隨便插入!!!!!
解決問題:使用外鍵約束——約束插入員工表的部門ID字段值(在員工表的部門ID字段添加一個外鍵約束!!!)
1)被約束的表稱為副表,約束別人的表稱為主表,外鍵設置在副表上的!!!
2)主表的參考字段通用為主鍵!
3)添加數據: 先添加主表,再添加副表
4)修改數據: 先修改副表,再修改主表
5)刪除數據: 先刪除副表,再刪除主表
【好事主先來,壞事副表當】