用mysql数据库创建学生表(students),包含字段:学生编号(s_id)、学生姓名(s_name)、性别(s_sex)、出生日期(s_birthday)、入学日期(s_admission_date)、所属院系(s_dept)、班级编号(s_class_id)。 创建课程表(courses),包含字段:课程编号(c_id)、课程名称(c_name)、学分(c_credit)、所属院系(c_dept)。 创建选课表(selections),包含字段:学生编号(s_id)、课程编号(c_id)、成绩(s_score)。 创建班级表(classes),包含字段:班级编号(c_id)、班级名称(c_name)、所属院系(c_dept)。创建触发器,当某个学生的成绩更新时,更新该学生的总成绩。
时间: 2023-06-04 17:04:12 浏览: 79
mysql数据库创建学生表
5星 · 资源好评率100%
可以的,以下是使用MySQL的代码:
-- 创建学生表
CREATE TABLE students (
s_id INT PRIMARY KEY,
s_name VARCHAR(255) NOT NULL,
s_sex VARCHAR(10) NOT NULL,
s_birthday DATE NOT NULL,
s_admission_date DATE NOT NULL,
s_dept VARCHAR(255) NOT NULL,
s_class_id INT NOT NULL
);
-- 创建课程表
CREATE TABLE courses (
c_id INT PRIMARY KEY,
c_name VARCHAR(255) NOT NULL,
c_credit FLOAT NOT NULL,
c_dept VARCHAR(255) NOT NULL
);
-- 创建选课表
CREATE TABLE selections (
s_id INT NOT NULL,
c_id INT NOT NULL,
s_score FLOAT NOT NULL,
PRIMARY KEY (s_id, c_id),
FOREIGN KEY (s_id) REFERENCES students(s_id),
FOREIGN KEY (c_id) REFERENCES courses(c_id)
);
-- 创建班级表
CREATE TABLE classes (
c_id INT PRIMARY KEY,
c_name VARCHAR(255) NOT NULL,
c_dept VARCHAR(255) NOT NULL
);
-- 创建触发器,更新学生总成绩
DELIMITER //
CREATE TRIGGER update_total_score AFTER INSERT ON selections
FOR EACH ROW
BEGIN
UPDATE students SET total_score = (
SELECT SUM(s_score) FROM selections WHERE s_id = NEW.s_id
) WHERE s_id = NEW.s_id;
END //
DELIMITER ;
阅读全文