mysql通過(guò)一個(gè)主碼,多個(gè)外碼來(lái)組合。根據(jù)查詢相關(guān)資料信息,mysql選擇一個(gè)作為查詢、插入或刪除元組的操作變量,設(shè)置為主碼,其他數(shù)據(jù)設(shè)置為外碼。mysql中每個(gè)關(guān)系必定有且僅有一個(gè)主碼。
創(chuàng)新互聯(lián)公司2013年至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元宿遷做網(wǎng)站,已為上家服務(wù),為宿遷各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108
1.外鍵的作用,主要有兩個(gè):
一個(gè)是讓數(shù)據(jù)庫(kù)自己通過(guò)外鍵來(lái)保證數(shù)據(jù)的完整性和一致性
一個(gè)就是能夠增加ER圖的可讀性
2.外鍵的配置
1)先創(chuàng)建一個(gè)主表,代碼如下:
#創(chuàng)建表student,并添加各種約束
create table student
(
id int primary key , #主鍵約束
name varchar(20) , #唯一約束
age int NOT NULL, #非空約束
sex varchar(2) ,
address varchar(20) default '重慶' #默認(rèn)約束
) ;
再通過(guò)一個(gè)外鍵,創(chuàng)建一個(gè)分?jǐn)?shù)表,這樣的話,就可以方便查詢。代碼如下:
#創(chuàng)建分?jǐn)?shù)表
create table score
(
id int primary key ,
sid int ,
china int ,
history int,
english int,
constraint FK_sid foreign key(sid) references student(id) #通過(guò)外鍵創(chuàng)建鏈接
) ;
創(chuàng)建外鍵的方法有很多,其中最常見(jiàn)創(chuàng)建外鍵的格式是:constraint FK_*** foreign key(**) references 鏈接的外表
刪除外鍵:
alter table drop foreign key '外鍵名'.
注意:
只有在定義外鍵時(shí),用constraint 外鍵名 foreign key .... 方便進(jìn)行外鍵的刪除
主鍵是唯一標(biāo)示這一行的,就好像你的身份證號(hào)一樣,每個(gè)人只有一個(gè),也是唯一能證明你是你的東西。外鍵是別人執(zhí)行你的東西。也就是說(shuō)如果一個(gè)人想和你有點(diǎn)關(guān)系怎么辦,那就要關(guān)聯(lián)起來(lái),怎么關(guān)聯(lián)起來(lái),就通過(guò)外鍵啊
定義主鍵和外鍵主要是為了維護(hù)關(guān)系數(shù)據(jù)庫(kù)的完整性,總結(jié)一下:
一、主鍵是能確定一條記錄的唯一標(biāo)識(shí),比如,一條記錄包括身份正號(hào),姓名,年齡。身份證號(hào)是唯一能確定你這個(gè)人的,其他都可能有重復(fù),所以,身份證號(hào)是主鍵。
外鍵用于與另一張表的關(guān)聯(lián)。是能確定另一張表記錄的字段,用于保持?jǐn)?shù)據(jù)的一致性。比如,A表中的一個(gè)字段,是B表的主鍵,那他就可以是A表的外鍵。
mysql組合主碼外碼設(shè)置的方法步驟是。
1、設(shè)置mysql數(shù)據(jù)庫(kù)密碼[root@localhost]#mysqladmin-urootpassword"密碼"。
2、Linux下MYSQL訪問(wèn)數(shù)據(jù)庫(kù)。
3、訪問(wèn)mysql數(shù)據(jù)庫(kù)命令:[root@localhost]#mysql-uroot-p--敲回車輸入密碼。
通過(guò)工具NAVICAT 設(shè)計(jì)表時(shí)進(jìn)行設(shè)計(jì)
打開(kāi)NAVICAT,連接數(shù)據(jù)庫(kù)
右鍵目標(biāo)表,選擇設(shè)計(jì)表
打開(kāi)后選擇外鍵菜單,具體如圖:
分別設(shè)置外鍵名,字段,關(guān)聯(lián)數(shù)據(jù)庫(kù)、表、字段,以及刪除時(shí)操作,更新時(shí)操作方式然后點(diǎn)擊保存按鈕即可
也可以通過(guò)SQL方式完成對(duì)表外鍵的添加,如:
語(yǔ)法:alter table 表名 add constraint FK_ID foreign key(你的外鍵字段名) REFERENCES 外表表名(對(duì)應(yīng)的表的主鍵字段名);