首頁技術(shù)文章正文

數(shù)據(jù)庫中外鍵是什么意思?

更新時(shí)間:2021-05-26 來源:黑馬程序員 瀏覽量:

1577370495235_學(xué)IT就到黑馬程序員.gif

外鍵是指引用另一個(gè)表中的一列或多列,被引用的列應(yīng)該具有主鍵約束或唯一性約束。外鍵用于建立和加強(qiáng)兩個(gè)表數(shù)據(jù)之間的連接。為了使初學(xué)者更好地理解外鍵的定義,接下來,通過兩張表來講解什么是外鍵。

首先需要?jiǎng)?chuàng)建兩個(gè)表,一個(gè)班級(jí)表(grade)和一個(gè)學(xué)生表(student),具體語句如下:

CREATE DATABASE chapter05;
USE chapter05;

CREATE TABLE grade(
    id int(4) NOT NULL PRIMARY KEY,
    name varchar(36)
);

CREATE TABLE student(
    sid int(4) NOT NULL PRIMARY KEY,
    sname varchar(36),
    gid int(4) NOT NULL
);

學(xué)生表(student)中的gid是學(xué)生所在的班級(jí)id,是引入了班級(jí)表(grade)中的主鍵id。那么gid就可以作為表student的外鍵。被引用的表,即表grade是主表;引用外鍵的表,即表student是從表,兩個(gè)表是主從關(guān)系。表student用gid可以連接表grade中的信息,從而建立了兩個(gè)表數(shù)據(jù)之間的連接。

引入外鍵后,外鍵列只能插入?yún)⒄樟写嬖诘闹?,參照列被參照的值不能被刪除,這就保證了數(shù)據(jù)的參照完整性。



猜你喜歡:

mysql索引如何使用?

MySQL和MariaDB有什么區(qū)別?

mysql5.5安裝教程:mysql下載與安裝

什么是mysql事務(wù)場景?

黑馬程序員Linux云計(jì)算+運(yùn)維開發(fā)培訓(xùn)課程

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!