亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在MySQL中設置外鍵

發布時間:2021-04-08 15:26:26 來源:億速云 閱讀:325 作者:Leah 欄目:開發技術

這篇文章將為大家詳細講解有關怎么在MySQL中設置外鍵,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

一、外鍵設置方法

1、在MySQL中,為了把2個表關聯起來,會用到2個重要的功能:外鍵(FOREIGN KEY)和連接(JOIN)。外鍵需要在創建表的階段定義,連接可以通過相同意義的字段把2個表連接起來,用在查詢階段。

2、假設有2個表,分別是表A和表B,它們通過一個公共字段id 發生關聯關系,我們把這個關聯關系叫做R。如果id在表A中是主鍵,那么表A就是這個關系R中的主表,相應的,表B就是這個關系中的從表,表B中的id,就是表B用來引用表A中數據的,叫外鍵。所以,外鍵就是從表中用來引用主表中數據的那個公共字段。

創建主表

CREATE TABLE demo.importhead ( 
listnumber INT PRIMARY KEY, 
supplierid INT, 
stocknumber INT, 
importtype INT, 
importquantity DECIMAL(10 , 3 ), 
importvalue DECIMAL(10 , 2 ), 
recorder INT, 
recordingdate DATETIME);

創建從表

CREATE TABLE demo.importdetails( 
listnumber INT, 
itemnumber INT, 
quantity DECIMAL(10,3), 
importprice DECIMAL(10,2), 
importvalue DECIMAL(10,2), -- 定義外鍵約束,指出外鍵字段和參照的主表字段 
CONSTRAINT fk_importdetails_importhead 
FOREIGN KEY (listnumber) REFERENCES importhead (listnumber)
);

運行這個SQL語句,我們就在創建表的同時定義了一個名字叫fk_importdetails_importhead的外鍵約束,同時,我們聲明,這個外鍵約束的字段listnumber引用的是表importhead里面的字段listnumber。

創建完成后,我們可以通過SQL語句來查看,這里我們要用到MySQL自帶的、用于存儲系統信息的數據庫:

information_schema。我們可以查看外鍵約束的相關信息:

外鍵約束所在的表是importdetails,外鍵字段是listnumber

參照的主表是importhead,參照主表字段是listnumber,

這樣通過定義外鍵約束,我們已經建立起了2個表之間的關聯關系。

怎么在MySQL中設置外鍵

3、連接

在MySQL中有2種類型的連接,分別是內連接(INNER JOIN)和外連接(OUTER JOIN)

  • 內連接表示查詢結果只返回符合連接條件的記錄,這種連接方式比較常用;

  • 外連接則不同,表示查詢結果返回某一個表中的所有記錄,以及另一個表中滿足連接條件的記錄。

定義外鍵時,需要遵守下列規則:

  • 主表必須已經存在于數據庫中,或者是當前正在創建的表。如果是后一種情況,則主表與從表是同一個表,這樣的表稱為自參照表,這種結構稱為自參照完整性。

  • 必須為主表定義主鍵。

  • 主鍵不能包含空值,但允許在外鍵中出現空值。也就是說,只要外鍵的每個非空值出現在指定的主鍵中,這個外鍵的內容就是正確的。

  • 在主表的表名后面指定列名或列名的組合。這個列或列的組合必須是主表的主鍵或候選鍵。

  • 外鍵中列的數目必須和主表的主鍵中列的數目相同。

  • 外鍵中列的數據類型必須和主表主鍵中對應列的數據類型相同。

關于怎么在MySQL中設置外鍵就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁津县| 霍城县| 浏阳市| 太白县| 吉木乃县| 武安市| 互助| 水城县| 南城县| 漠河县| 湄潭县| 玉树县| 青岛市| 睢宁县| 毕节市| 长汀县| 九龙城区| 浦北县| 若羌县| 江油市| 固安县| 尚义县| 鹰潭市| 安顺市| 白水县| 南华县| 桑日县| 永安市| 龙岩市| 连云港市| 阿坝县| 镇坪县| 沐川县| 崇州市| 宜都市| 巩义市| 太仆寺旗| 贡觉县| 汕头市| 利川市| 沙河市|