MySQL创建学生、课程及选课表
MySQL是一种广泛使用的关系型数据库管理系统,常用于Web应用程序开发和数据存储。本文将介绍如何使用MySQL创建学生表、课程表以及选课表,并提供相应的代码示例。
学生表
学生表用于存储学生的基本信息,例如学生ID、姓名、性别、年龄等。
创建学生表的SQL语句如下:
CREATE TABLE student (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
gender ENUM('男', '女') NOT NULL,
age INT NOT NULL
);
上述代码创建了一个名为student
的表,包括四个字段:id
、name
、gender
和age
。其中,id
为主键,自增;name
为学生姓名,不能为空;gender
为性别,只能为'男'或'女';age
为年龄,不能为空。
课程表
课程表用于存储课程的信息,例如课程ID、课程名称、学分等。
创建课程表的SQL语句如下:
CREATE TABLE course (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
credit INT NOT NULL
);
上述代码创建了一个名为course
的表,包括三个字段:id
、name
和credit
。其中,id
为主键,自增;name
为课程名称,不能为空;credit
为学分,不能为空。
选课表
选课表用于记录学生选修的课程,包括学生ID和课程ID。
创建选课表的SQL语句如下:
CREATE TABLE course_selection (
student_id INT,
course_id INT,
PRIMARY KEY (student_id, course_id),
FOREIGN KEY (student_id) REFERENCES student(id),
FOREIGN KEY (course_id) REFERENCES course(id)
);
上述代码创建了一个名为course_selection
的表,包括两个字段:student_id
和course_id
。同时,将student_id
和course_id
设置为联合主键,并分别与student
表和course
表建立外键关系。
数据库操作示例
下面是一些常见的数据库操作示例,用于在MySQL中对学生、课程和选课进行增、删、改和查。
插入学生信息
插入学生信息可以使用INSERT INTO
语句。
INSERT INTO student (name, gender, age) VALUES ('张三', '男', 20);
上述代码将一个名为'张三'、性别为'男'、年龄为20的学生插入到student
表中。
插入课程信息
插入课程信息也可以使用INSERT INTO
语句。
INSERT INTO course (name, credit) VALUES ('数学', 4);
上述代码将一门名为'数学'、学分为4的课程插入到course
表中。
选课操作
选课操作需要向course_selection
表中插入一条记录。
INSERT INTO course_selection (student_id, course_id) VALUES (1, 1);
上述代码表示学生ID为1的学生选修了课程ID为1的课程。
查询学生选课信息
查询学生选课信息可以使用SELECT
语句。
SELECT student.name, course.name
FROM student
JOIN course_selection ON student.id = course_selection.student_id
JOIN course ON course.id = course_selection.course_id;
上述代码将返回学生姓名和所选课程的名称。
序列图
下面是一个使用mermaid语法标识的选课流程的序列图示例:
sequenceDiagram
participant 学生
participant 课程
participant 选课表
学生 ->> 选课表: 选课
选课表 ->> 课程: 获取课程信息
课程 -->> 选课表: 返回课程信息
选课表 ->> 学生: 返回选课结果
上述序列图表示学生选课的流程,包