首頁 > 資料庫 > mysql教程 > MySQL學習以外鍵的圖文詳解

MySQL學習以外鍵的圖文詳解

黄舟
發布: 2017-09-08 14:04:17
原創
1863 人瀏覽過

1、比方現在有兩張表“分類表”和“商品表”,為了表明商品屬於哪個分類,通常我們將在商品表上添加一列,用於存放分類cid的信息,此列稱為:外鍵。

此時分類表category稱為主表,cid稱為主鍵;商品表products稱為從表,category_id稱為外鍵。

外鍵特點:1)從表外鍵的值是主表主鍵的引用

#     2)從表外鍵類型必須與主表主鍵一致。

使用外鍵的目的:保證資料的完整性

2、先在指令提示字元內建立一個資料庫web09,並建立兩張表category和product,語句如下:

分別插入多條資料

eg.insert into category(cid,cname) values('c001','家电');
insert into product(pid,pname,price,category_id) values('p001','联想','5000','c001');
登入後複製

顯示如下:

##3、宣告外鍵約束

語法:alter table 從表add [constraint] [外鍵名稱] foreign key (從表外鍵欄位名稱) references 主表(主表的主鍵);

[外鍵名稱]用於刪除外鍵約束的,一般建議"_fk"結尾

#約束聲明後,如果我想刪除category表中cid=c003的數據,刪除不了

4、解除約束

語法:alter table 從表drop foreign key 外鍵名稱

繼續刪除category表中cid=c003的數據,可以刪除

注意:從表外鍵不能新增主表中不存在的記錄

   主表不能刪除從表中已經引用的記錄。

5、一對多建表原則:

6、多對多建表原則:

#

以上是MySQL學習以外鍵的圖文詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板