编辑代码

CREATE DATABASE Q;
USE Q;

##创建学生表
CREATE TABLE IF NOT EXISTS 学生表 (
    学生ID INT PRIMARY KEY AUTO_INCREMENT,
    名字 VARCHAR(50) NOT NULL,
    性别 VARCHAR(10),
    年级 VARCHAR(20)
);
INSERT INTO 学生表(名字,性别,年级)
VALUES ('艾丽斯','女','高三'),('李明','男','高三'),('陈鹤','男','高三');

##创建课程表
CREATE TABLE IF NOT EXISTS 课程表 (
    课程ID INT PRIMARY KEY AUTO_INCREMENT,
    课名 VARCHAR(100) NOT NULL,
    学分 INT,
    成绩 VARCHAR(20)
);
INSERT INTO 课程表(课名,学分,成绩)
VALUES ('数据库系统',4,'计算机'),('网页开发',3,'计算机');

##创建选课表
CREATE TABLE IF NOT EXISTS 选课表 (
    选课ID INT PRIMARY KEY AUTO_INCREMENT,
    学生ID INT,
    课程ID INT,
    注册日期 INT,
    FOREIGN KEY (学生ID) REFERENCES 学生表(学生ID),
    FOREIGN KEY (课程ID) REFERENCES 课程表(课程ID)
);
INSERT INTO 选课表 (学生ID,课程ID,注册日期)
VALUES (1,1,80),(2,2,70);

##查询所有学生信息
SELECT * FROM 学生表;

##查询所有课程信息
SELECT * FROM 课程表;

##查询所有选课信息
SELECT e.选课ID, s.名字, c.课名, e.注册日期
FROM 选课表 e
JOIN 学生表 s ON e.学生ID=s.学生ID
JOIN 课程表 c ON e.课程ID=c.课程ID;


CREATE DATABASE IF NOT EXISTS Q;
USE Q;

##创建教师表
CREATE TABLE IF NOT EXISTS Teachers (
    teacher_id INT AUTO_INCREMENT PRIMARY KEY,
    teacher_name VARCHAR(50) NOT NULL,
    gender VARCHAR(10)
);
INSERT INTO Teachers (teacher_name, gender)
VALUES 
('王老师', '男'),
('李老师', '女');
##创建课程表
CREATE TABLE IF NOT EXISTS Courses (
    course_id INT AUTO_INCREMENT PRIMARY KEY,
    course_name VARCHAR(100) NOT NULL,
    teacher_id INT,
    FOREIGN KEY (teacher_id) REFERENCES Teachers(teacher_id)
);
INSERT INTO Courses (course_name, teacher_id)
VALUES 
('数学', 1),
('英语', 2);

##查询所有教师信息
SELECT * FROM Teachers;

##查询所有课程信息
SELECT * FROM Courses;

##查询教师和课程信息
SELECT 
    t.teacher_name,
    t.gender,
    c.course_name
FROM 
    Teachers t
JOIN 
    Courses c ON t.teacher_id = c.teacher_id;