欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

MySQL中多對多咋弄

洪振霞2年前9瀏覽0評論
MySQL中多對多關系是指多個數據表之間存在多個相互關聯的數據記錄,這種關系需要借助中間表來實現。下面將介紹如何使用MySQL實現多對多關系。

首先,我們需要創建兩個表,分別表示兩個實體,例如學生和課程。我們可以使用以下代碼創建學生表:

CREATE TABLE students (
id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(50) NOT NULL UNIQUE
) ENGINE=InnoDB CHARSET=utf8;

接下來,我們創建課程表:

CREATE TABLE courses (
id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(50) NOT NULL
) ENGINE=InnoDB CHARSET=utf8;

現在我們來創建中間表,用于存儲學生和課程之間的關系:

CREATE TABLE student_course (
student_id INT(11) UNSIGNED NOT NULL,
course_id INT(11) UNSIGNED NOT NULL,
PRIMARY KEY (student_id, course_id),
FOREIGN KEY (student_id) REFERENCES students(id) ON DELETE CASCADE,
FOREIGN KEY (course_id) REFERENCES courses(id) ON DELETE CASCADE
) ENGINE=InnoDB CHARSET=utf8;

在上面的中間表中,我們使用兩個外鍵來建立與學生表和課程表的關聯。這里還設置了一個聯合主鍵,以確保每對學生和課程的關系的唯一性。

現在我們的表已經準備好了,我們可以向學生和課程表中插入一些記錄:

INSERT INTO students (name,email) VALUES
('Alice', 'alice@example.com'),
('Bob', 'bob@example.com'),
('Charlie', 'charlie@example.com');
INSERT INTO courses (title) VALUES
('Computer Science'),
('Mathematics'),
('English');

最后,我們可以在中間表中添加記錄,以建立學生和課程之間的關系:

INSERT INTO student_course (student_id, course_id) VALUES
(1, 1),
(1, 2),
(2, 1),
(3, 3),
(3, 2);

現在我們已經成功地建立了學生和課程之間的多對多關系。