学生表的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);
相关推荐
GBASE13 小时前
G术时刻 |GBase 8s数据库事务并发控制之封锁技术介绍(下)
数据库
xiezhr1 天前
逛GitHub发现了一款免费的带AI功能的数据库管理工具
数据库·ai编程·dba
唐青枫2 天前
MySQL JSON 实战详解:从存储、查询、更新到 JSON_TABLE 与索引
sql·mysql
吃糖的小孩2 天前
给 QQ AI 机器人设计“可控记忆”:会话摘要、手动长期记忆与角色卡边界
数据库
笃行3503 天前
金仓数据库数据安全双防线:静态存储加密与传输加密实战
数据库
笃行3503 天前
金仓数据库物理备份实战:sys_rman 全流程演练与误覆盖抢救
数据库
笃行3503 天前
金仓数据库逻辑备份实战:从全库导出到 Schema 替换的完整闭环
数据库
SelectDB4 天前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc
这个DBA有点耶4 天前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构