含義:一種限制,用於限制表中的資料 ,為了保證表中的資料的準確和可靠性。
分類:六大約束
not null 非空,用於保證該字段的值不能為空
default:預設,用於保證該字段有預設值
primary key :主鍵,用於保證該字段的值具有唯一性,並且非空
unique 唯一,用於保證該字段的值具有唯一性,可以為空
check 檢查約束
foreign key 外來鍵,用於限制兩個表的關係,用於保證該字段的值必須來自於主表的關聯列的值,在從表新增外來鍵約束,用於引用主表中某列的值
建立表時新增約束
1.新增列級約束
新增表級約束
在各個欄位的最下面
constraint 約束名 約束型別
主鍵和唯一鍵之間的區別
主鍵和唯一性都保證了唯一性
主鍵不允許為空,唯一可以
主鍵最多乙個,唯一可以有多個
主鍵可以組合,唯一可以組合
外來鍵:1.要求在從表設定外來鍵關係
2.從表的外來鍵列的型別和主表的關聯列的型別要求一致或者相容,名稱沒有要求。
3.主表的關聯列必須是乙個key(一般是主鍵或者唯一)
4.插入資料的時候,先插入主表,再插入從表,刪除資料的時候,先刪除從表,再刪除主表
修改表時新增約束
1.新增列級約束
alter table 表名 modify column 欄位名 字段型別 新約束;
2.新增表級約束
alter table 表名 add 約束型別(欄位名);
mysql學習筆記 sql鍵表約束
建立的表字段為id和name,設定主鍵為id 插入一條記錄 insert into user values 1,張三 上面若再插入id為1 name為李四的記錄,結果會報錯,因為主鍵重複 此時需要設定聯合主鍵 create table user2 id int,name varchar 20 pas...
SQL學習筆記(學自黑馬) 約束
對錶中的資料進行限定,保證資料的正確性 有效性和完整性。1.主鍵約束 primary key 2.非空約束 not null 值不能為null 3.唯一約束 unique 值不能重複,但可以有多個null值 4.外來鍵約束 foreign key 刪除外來鍵 alter table 表名 drop ...
sql學習之常見約束
常見約束 含義 一種限制,用於限制表中的資料,為了保證表中的資料的準確和可靠性 分類 六大約束 not null 非空,用於保證該字段的值不能為空 比如姓名 學號等 default 預設,用於保證該字段有預設值 比如性別 primary key 主鍵,用於保證該字段的值具有唯一性,並且非空 比如學號...