MySQL是一個廣受歡迎的開源關系型數據庫,被廣泛用于Web開發和數據存儲。在學生課程管理系統中,學生和課程之間存在多對多的關系,需要使用MySQL進行多對多查詢。
-- 創建學生表 CREATE TABLE students ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL, age INT NOT NULL ); -- 創建課程表 CREATE TABLE courses ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL ); -- 創建學生課程關系表 CREATE TABLE student_courses ( student_id INT NOT NULL, course_id INT NOT NULL, FOREIGN KEY (student_id) REFERENCES students(id), FOREIGN KEY (course_id) REFERENCES courses(id) ); -- 插入學生數據 INSERT INTO students (name, age) VALUES ('張三', 20), ('李四', 21); -- 插入課程數據 INSERT INTO courses (name) VALUES ('English'), ('Math'), ('Science'); -- 插入學生課程關系數據 INSERT INTO student_courses (student_id, course_id) VALUES (1, 1), (1, 2), (2, 2), (2, 3); -- 查詢某個學生的所有課程 SELECT courses.name FROM courses JOIN student_courses ON courses.id = student_courses.course_id WHERE student_courses.student_id = 1; -- 查詢某個課程的所有學生 SELECT students.name FROM students JOIN student_courses ON students.id = student_courses.student_id WHERE student_courses.course_id = 2;
以上是使用MySQL進行學生課程多對多查詢的示例代碼。通過創建學生表、課程表和學生課程關系表,然后使用JOIN操作查詢學生和課程之間的關系,可以輕松地實現多對多查詢。這種設計可以方便地擴展到更復雜的多對多關系中。