MySQL唯一約束,主鍵,外來鍵

2021-08-17 10:14:36 字數 1031 閱讀 5202

唯一約束:

新增方法:id int unique

alter table customers  add constraint uq unique(id)

刪除方法:

alter  table customers  drop index uq

主鍵作用: primary key = unique + not null

新增方法:primary key(id)

alter table customers  add primary key(id)

刪除方法:

alter table  customers  drop primary key

外來鍵作用:

1.參照完整性--如果要刪除了父表中一條記錄,i必須提前保證子表中沒有引用父錶該字段值的列,否則無法刪除

2.一致性:子表中的外來鍵列必須在父表中存在對應

然而在設定外來鍵的情況下,你插入子表學號字段的值必需要求在父表的學號字段能找到。同一時候,假設你要刪除父表的某個學號字段,必須保證子表中沒有引用該字段值的列,否則就沒法刪除。

新增外來鍵:

constraint fk  foreign key(name) references customers(id)

或 foreign key(name) references customers(id)

或者用alter table orders add  constraint fk  foreign key(name) references customers(id)

刪除外來鍵:

如果設定了外鍵名,就用自己設定的外鍵名進行刪除,否則用show create table ..去檢視

外鍵名,然後刪除.  (無論是自己有沒有定義外鍵名,都用下面方法進行外來鍵刪除)

//先刪除外鍵名,再刪外來鍵字段(mysql官方提供 )

alter table task drop foreign key fk_reference_7;

alter table task drop column `assigned`;           

候選鍵 主鍵 唯一約束

有時候在我們的表裡可以通過某個列或者某些列確定唯一的一條記錄,我們就可以把這個列或者這些列稱為候選鍵。比如在學生資訊表student info中,只要我們知道某個學生的學號,就可以確定乙個唯一的學生資訊,也就是一條記錄。當然,我們也可以通過身份證號來確定唯一的一條學生資訊記錄,所以學號和身份證號都可...

mysql之非空約束,唯一約束,外來鍵約束

非空約束 是指 某些列不能設定為null值,所以要對列新增非空約束 非空約束的特點 不可以為空,但可以是重複值 not null 是非空約束的關鍵字 create table student sid int primary key auto incrament,sname varchar 50 no...

唯一約束,主鍵約束,唯一索引

1.unique約束和primary key約束用來保證同一表中指定的列上沒有重複值,這兩個約束都產生唯一索引確保資料一致性,預設情況下,unique約束產生唯一的非聚集索引,primary key約束產生唯一的聚集索引。primary key約束比unique約束嚴格 primary key列不允...