1. 程式人生 > >如何在MySQL中設定外來鍵約束以及外來鍵的作用

如何在MySQL中設定外來鍵約束以及外來鍵的作用

1.外來鍵的作用,主要有兩個:

一個是讓資料庫自己通過外來鍵來保證資料的完整性和一致性

一個就是能夠增加ER圖的可讀性

2.外來鍵的配置

1)先建立一個主表,程式碼如下:

#建立表student,並新增各種約束

create table student

(

    id int primary key ,  #主鍵約束

    name varchar(20)  ,  #唯一約束

    age int NOT NULL, #非空約束

    sex varchar(2) ,

    address varchar(20) default '重慶'  #預設約束

) ;

再通過一個外來鍵,建立一個分數表,這樣的話,就可以方便查詢。程式碼如下:

#建立分數表

create table score

(

    id int primary key ,

    sid int ,

    china int ,

    history int,

    english int,

    constraint FK_sid foreign key(sid) references student(id)  #通過外來鍵建立連結

) ;

建立外來鍵的方法有很多,其中最常見建立外來鍵的格式是:constraint FK_*** foreign key(**) references 連結的外表

刪除外來鍵:

alter table drop foreign key '外來鍵名'.

注意:

只有在定義外來鍵時,用constraint 外來鍵名 foreign key .... 方便進行外來鍵的刪除

主鍵是唯一標示這一行的,就好像你的身份證號一樣,每個人只有一個,也是唯一能證明你是你的東西。外來鍵是別人執行你的東西。也就是說如果一個人想和你有點關係怎麼辦,那就要關聯起來,怎麼關聯起來,就通過外來鍵啊

定義主鍵和外來鍵主要是為了維護關係資料庫的完整性,總結一下:

一、主鍵是能確定一條記錄的唯一標識,比如,一條記錄包括身份正號,姓名,年齡。身份證號是唯一能確定你這個人的,其他都可能有重複,所以,身份證號是主鍵。

外來鍵用於與另一張表的關聯。是能確定另一張表記錄的欄位,用於保持資料的一致性。比如,A表中的一個欄位,是B表的主鍵,那他就可以是A表的外來鍵。