mysql创建学生表、课程表及学生选课表详细代码

 更新时间:2023年12月19日 10:15:15   作者:微笑伴你而行  
这篇文章主要给大家介绍了mysql创建学生表、课程表及学生选课表的相关资料,学生、课程以及成绩的增删改查都是建立在连接数据库的基础之上,文中通过代码介绍的非常详细,需要的朋友可以参考下

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

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

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

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

Student

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

Course

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

SC

学号(Sno)课程号(Cno)成绩(Grade)
201215121192
201215121285
201215121388
201215122290
201215122380

1、建表语句

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

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、插入数据

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、查询表

select * from Student;
select * from Course;
select * from SC;

总结

到此这篇关于mysql创建学生表、课程表及学生选课表的文章就介绍到这了,更多相关mysql创建学生课程表内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 配置mysql允许远程连接的方法

    配置mysql允许远程连接的方法

    默认情况下,MySQL只允许本地登录,如果要开启远程连接,则需要修改/etc/my.cnf文件
    2013-02-02
  • MySQL中Like模糊查询速度太慢该如何进行优化

    MySQL中Like模糊查询速度太慢该如何进行优化

    在业务场景中经常会用到like模糊查询,但是大家都知道,like是用不到索引的,所以当数据量非常大时,速度会非常慢,这篇文章主要给大家介绍了关于MySQL中Like模糊查询速度太慢该如何进行优化的相关资料,需要的朋友可以参考下
    2021-12-12
  • 一文搞懂MySQL索引所有知识点

    一文搞懂MySQL索引所有知识点

    这篇文章主要带你搞懂MySQL索引的所有知识点,我们通常所说的索引,包括聚焦索引、覆盖索引、组合索引、前缀索引、唯一索引等,没有特别说明,默认都是使用B+树结构组织,感兴趣的小伙伴可以参考阅读
    2023-03-03
  • mysql获取group by的总记录行数另类方法

    mysql获取group by的总记录行数另类方法

    mysql获取group by内部可以获取到某字段的记录分组统计总数,而无法统计出分组的记录数,下面有个可行的方法,大家可以看看
    2014-10-10
  • mysql实现sequence功能的代码

    mysql实现sequence功能的代码

    今天小编就为大家分享一篇关于mysql实现sequence功能的代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • mysql添加索引方法详解(Navicat可视化加索引与sql语句加索引)

    mysql添加索引方法详解(Navicat可视化加索引与sql语句加索引)

    索引用来快速地寻找那些具有特定值的记录,如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录,表里面的记录数量越多,代价就越高,下面这篇文章主要给大家介绍了关于mysql添加索引的相关资料,需要的朋友可以参考下
    2022-11-11
  • 深入了解MySQL中的慢查询日志

    深入了解MySQL中的慢查询日志

    什么是MySQL慢查询呢?其实就是查询的SQL语句耗费较长的时间。具体耗费多久算慢查询呢?这其实因人而异,有些公司慢查询的阈值是100ms,有些的阈值可能是500ms。本文将通过示例和大家聊聊慢查询的危害和常用场景,感兴趣的可以了解一下
    2023-03-03
  • Windows Server 2019 MySQL数据库的安装与配置理论+远程连接篇

    Windows Server 2019 MySQL数据库的安装与配置理论+远程连接篇

    mysql是一款关系型数据库管理系统,由MySQL AB公司开发,目前属于Oracle旗下产品,MySQL是最流行的关系型数据库管理系统之一。MySQL也是一款开源的SQL数据库管理系统,是众多小型网站作为网站数据库的首选数据库
    2023-05-05
  • mysql insert 存在即不插入语法说明

    mysql insert 存在即不插入语法说明

    这篇文章主要介绍了mysql insert 存在即不插入语法说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • windows下mysql数据库主从配置教程

    windows下mysql数据库主从配置教程

    这篇文章主要为大家详细介绍了windows下mysql数据库主从配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05

最新评论