mysql 创建学生表、课程表、学生选课表

数据库系统概论(第五版)79页提供的三个表,为了我们上机操作容易,下面创建这三个表

学生-课程数据库中包含以下三个表

  • 学生表:Student(Sno,Sname,Ssex,Sage,Sdept)
  • 课程表:Course(Cno,Cname,Cpno,Ccredit)
  • 学生选课表:SC(Sno ,Cno,Grade)

关系的主码加粗表示,各个表中的数据实例:

Student

学号(Sno) 姓名(Sname) 性别(Ssex) 年龄(Sage) 所在系 (Sdept)
201215121 李勇 20 CS
201215122 刘晨 19 CS
201215123 王敏 18 MA
201215125 张立 19 IS

Course

课程号(Cno) 课程名(Cname) 先行课(Cpno) 学分(Ccredit)
1 数据库 5 4
2 数学 2
3 信息系统 1 4
4 操作系统 6 3
5 数据结构 7 4
6 数据处理 2
7 PASCAL语言 6 4

SC

学号(Sno) 课程号(Cno) 成绩(Grade)
201215121 1 92
201215121 2 85
201215121 3 88
201215122 2 90
201215122 3 80
1、建表语句

Sno为Student表的主键,Cno为Course表的主键,SC表中外键Sno,Cno分别是Student表和Course表的主键

sql 复制代码
create table Student (Sno char(9) primary key,Sname char(20),Ssex char(2),Sage int,Sdept char(10))charset=utf8;

create table Course (Cno char(2) primary key,Cname char(20),Cpno char(2),Ccredit integer)charset=utf8;

create table SC (Sno char(9),Cno char(2),Grade float,foreign key(Sno) references Student(Sno),foreign key(Cno) references Course(Cno))charset=utf8;
2、插入数据
sql 复制代码
insert into Student values('201215121','李勇','男',20,'CS');
insert into Student values('201215122','刘晨','女',19,'CS');
insert into Student values('201215123','王敏','女',18,'MA');
insert into Student values('201215125','张立','男',19,'IS');

insert into Course values('1','数据库','5',4);
insert into Course values('2','数学','',2);
insert into Course values('3','信息系统','1',4);
insert into Course values('4','操作系统','6',3);
insert into Course values('5','数据结构','7',4);
insert into Course values('6','数据处理','',2);
insert into Course values('7','PASCAL语言','6',4);

insert into SC values('201215121','1',92);
insert into SC values('201215121','2',85);
insert into SC values('201215121','3',88);
insert into SC values('201215122','2',90);
insert into SC values('201215122','3',80);

3、查询表

sql 复制代码
select * from Student;
select * from Course;
select * from SC;
相关推荐
小白勇闯网安圈20 小时前
Django 响应对象、文件上传与类视图
数据库·django·sqlite
努力的小雨21 小时前
同一份 SQL 跑多套环境:Ksql 变量怎么用才安全
数据库
科技绘图21 小时前
快鲸GEO vs 传统AI搜索优化:全链路自动化与高效内容生产在转化闭环上的对比
数据库·人工智能·自动化
ltl21 小时前
数据库作为 LLM 记忆体:语义缓存、RAG 与一致性
数据库
ltl21 小时前
WAL 与崩溃恢复:ARIES 协议怎么跑通
数据库
ltl1 天前
TEE 数据库:EnclaveDB、Oblivious 原语与机密 SQL
数据库
麻瓜code1 天前
【Mysql】重新学一遍 SQL 执行顺序
数据库·sql
这个DBA有点耶1 天前
数据库一体机架构演进:从硬件堆叠到软硬深度耦合
服务器·网络·数据库·硬件架构·运维开发·database·数据库架构
一只fish1 天前
优化器架构对比:Oracle vs PostgreSQL vs MySQL
mysql·postgresql·oracle
安_1 天前
RAG的向量数据库:为LLM提供语义搜索能力
数据库