编辑代码

CREATE DATABASE IF NOT EXISTS StudentCourseDB;
USE StudentCourseDB;
CREATE TABLE Student (
    学号 VARCHAR(10) PRIMARY KEY,
    姓名 VARCHAR(20) NOT NULL,
    性别 ENUM('男','女') NOT NULL,
    年龄 INT CHECK (年龄 > 0)
);

CREATE TABLE Course (
    课程号 VARCHAR(10) PRIMARY KEY,
    课程名 VARCHAR(30) NOT NULL,
    学分 INT NOT NULL
);

CREATE TABLE SC (
    学号 VARCHAR(10),
    课程号 VARCHAR(10),
    成绩 INT,
    PRIMARY KEY (学号, 课程号),
    FOREIGN KEY (学号) REFERENCES Student(学号),
    FOREIGN KEY (课程号) REFERENCES Course(课程号)
);
INSERT INTO Student VALUES 
('S001', '张三', '男', 20),
('S002', '李四', '女', 19),
('S003', '王五', '男', 21);

INSERT INTO Course VALUES 
('C001', '数据库原理', 3),
('C002', '数据结构', 4);

INSERT INTO SC VALUES 
('S001', 'C001', 85),
('S002', 'C001', 90),
('S003', 'C002', 78);
SELECT 姓名, 年龄 FROM Student WHERE 性别='男';
SELECT s.姓名, sc.成绩 
FROM SC sc
JOIN Student s ON sc.学号 = s.学号
JOIN Course c ON sc.课程号 = c.课程号
WHERE c.课程名 = '数据库原理';
SELECT c.课程名, AVG(sc.成绩) AS 平均成绩
FROM SC sc
JOIN Course c ON sc.课程号 = c.课程号
GROUP BY c.课程号;
UPDATE Student SET 年龄 = 21 WHERE 学号 = 'S001';