学生表的DDL和DML

DDL

sql 复制代码
-- 创建学生表
CREATE TABLE students (
    student_id INT PRIMARY KEY AUTO_INCREMENT,
    studentname VARCHAR(50),
    age INT,
    gender VARCHAR(10)
);

-- 创建课程表
CREATE TABLE courses (
    course_id INT PRIMARY KEY AUTO_INCREMENT,
    course_name VARCHAR(50)
);

-- 创建教师表
CREATE TABLE teachers (
    teacher_id INT PRIMARY KEY AUTO_INCREMENT,
    teachername VARCHAR(50),
    department VARCHAR(50)
);

-- 创建成绩表
CREATE TABLE grades (
    grade_id INT PRIMARY KEY AUTO_INCREMENT,
    student_id INT,
    course_id INT,
    grade DECIMAL(5, 2),
    FOREIGN KEY (student_id) REFERENCES students(student_id),
    FOREIGN KEY (course_id) REFERENCES courses(course_id)
);

-- 创建授课表
CREATE TABLE teachings (
    teaching_id INT PRIMARY KEY AUTO_INCREMENT,
    teacher_id INT,
    course_id INT,
    FOREIGN KEY (teacher_id) REFERENCES teachers(teacher_id),
    FOREIGN KEY (course_id) REFERENCES courses(course_id)
);

DML

sql 复制代码
-- 插入学生数据
INSERT INTO students (name, age, gender)
VALUES ('张三', 18, '男'),
       ('李四', 19, '女'),
       ('王五', 20, '男');

-- 插入课程数据
INSERT INTO courses (course_name)
VALUES ('数学'),
       ('英语'),
       ('物理');

-- 插入教师数据
INSERT INTO teachers (name, department)
VALUES ('赵老师', '数学系'),
       ('钱老师', '英语系'),
       ('孙老师', '物理系');

-- 插入成绩数据
INSERT INTO grades (student_id, course_id, grade)
VALUES (1, 1, 85.5),
       (1, 2, 78.0),
       (2, 1, 90.0),
       (2, 2, 88.5),
       (3, 1, 75.0),
       (3, 3, 80.0);

-- 插入授课数据
INSERT INTO teachings (teacher_id, course_id)
VALUES (1, 1),
       (2, 2),
       (3, 3);
相关推荐
Lee川3 小时前
Milvus 实战:当 RAG 遇上向量数据库,从"玩具 Demo"到"生产可用的"那一步
前端·数据库·人工智能
网管NO.15 小时前
SQL 排序分页精讲!ORDER BY+LIMIT 全套用法,报表分页
数据库·sql
MRSM_015 小时前
InfluxDB vs TimescaleDB,谁更适合你的场景
数据库
CAE虚拟与现实6 小时前
Redis如何保证存和读的过程中数据的一致性?
数据库·redis·缓存
我爱cope9 小时前
【Agent智能体4 | 智能体AI的应用】
数据库·人工智能·职场和发展
知识分享小能手10 小时前
Flask入门学习教程,从入门到精通,数据库操作 — 知识点详解与案例代码(4)
数据库·学习·flask
我是一颗柠檬10 小时前
【MySQL全面教学】MySQL基础SQL语句Day3(2026年)
数据库·后端·sql·mysql·oracle
XS03010610 小时前
MyBatis动态SQL
数据库·sql·mybatis