mysql多對(duì)多關(guān)系如何建立

小億
162
2023-11-14 16:08:43
欄目: 云計(jì)算

在MySQL中建立多對(duì)多關(guān)系可以通過(guò)創(chuàng)建中間表來(lái)實(shí)現(xiàn)。中間表中包含兩個(gè)外鍵,分別指向兩個(gè)相關(guān)聯(lián)的表。以下是一個(gè)具體的示例:

假設(shè)有兩個(gè)表:學(xué)生表(students)和課程表(courses),一個(gè)學(xué)生可以選擇多門課程,一門課程也可以被多個(gè)學(xué)生選擇。要建立多對(duì)多關(guān)系,需要?jiǎng)?chuàng)建一個(gè)中間表(student_courses),其中包含學(xué)生的ID和課程的ID。

  1. 創(chuàng)建學(xué)生表:
CREATE TABLE students (
  student_id INT PRIMARY KEY AUTO_INCREMENT,
  student_name VARCHAR(50)
);
  1. 創(chuàng)建課程表:
CREATE TABLE courses (
  course_id INT PRIMARY KEY AUTO_INCREMENT,
  course_name VARCHAR(50)
);
  1. 創(chuàng)建中間表:
CREATE TABLE student_courses (
  student_id INT,
  course_id INT,
  PRIMARY KEY (student_id, course_id),
  FOREIGN KEY (student_id) REFERENCES students(student_id),
  FOREIGN KEY (course_id) REFERENCES courses(course_id)
);

在中間表中,PRIMARY KEY約束確保了每個(gè)學(xué)生和課程的組合是唯一的,F(xiàn)OREIGN KEY約束確保了中間表中的外鍵引用了對(duì)應(yīng)表的主鍵。

通過(guò)上述步驟,就成功建立了學(xué)生表、課程表和中間表,實(shí)現(xiàn)了多對(duì)多關(guān)系。可以向中間表中插入數(shù)據(jù)來(lái)表示學(xué)生和課程的關(guān)聯(lián)關(guān)系。

0