mysql表間怎么建立一對(duì)多關(guān)系

小億
69
2023-12-06 21:56:59
欄目: 云計(jì)算

在MySQL中,可以通過(guò)外鍵來(lái)建立一對(duì)多關(guān)系。具體步驟如下:

  1. 在“多”的一方表中,創(chuàng)建一個(gè)指向“一”的一方表的外鍵列。例如,假設(shè)我們有兩個(gè)表:學(xué)校表和學(xué)生表。學(xué)生表是多的一方,學(xué)校表是一的一方。在學(xué)生表中創(chuàng)建一個(gè)外鍵列,指向?qū)W校表的主鍵。
CREATE TABLE 學(xué)生表 (
    學(xué)生ID INT PRIMARY KEY,
    姓名 VARCHAR(50),
    學(xué)校ID INT,
    FOREIGN KEY (學(xué)校ID) REFERENCES 學(xué)校表(學(xué)校ID)
);
  1. 在“一”的一方表中,創(chuàng)建一個(gè)主鍵列。
CREATE TABLE 學(xué)校表 (
    學(xué)校ID INT PRIMARY KEY,
    學(xué)校名稱(chēng) VARCHAR(50)
);
  1. 當(dāng)插入數(shù)據(jù)時(shí),確?!岸唷钡囊环奖碇械耐怄I值存在于“一”的一方表中的主鍵中。
INSERT INTO 學(xué)校表 (學(xué)校ID, 學(xué)校名稱(chēng)) VALUES (1, '學(xué)校A');
INSERT INTO 學(xué)校表 (學(xué)校ID, 學(xué)校名稱(chēng)) VALUES (2, '學(xué)校B');

INSERT INTO 學(xué)生表 (學(xué)生ID, 姓名, 學(xué)校ID) VALUES (1, '學(xué)生A', 1);
INSERT INTO 學(xué)生表 (學(xué)生ID, 姓名, 學(xué)校ID) VALUES (2, '學(xué)生B', 1);
INSERT INTO 學(xué)生表 (學(xué)生ID, 姓名, 學(xué)校ID) VALUES (3, '學(xué)生C', 2);

在上面的例子中,學(xué)生表中的學(xué)校ID列是一個(gè)外鍵,它指向?qū)W校表中的學(xué)校ID列。這樣就建立了學(xué)校表和學(xué)生表的一對(duì)多關(guān)系。每個(gè)學(xué)生都關(guān)聯(lián)到一個(gè)學(xué)校,而一個(gè)學(xué)??梢躁P(guān)聯(lián)多個(gè)學(xué)生。

0