MySQL 创建三张关系表实操

 更新时间:2022年03月24日 17:15:51   作者:江下下啊  
这篇文章主要介绍了MySQL 创建三张关系表实操,文章说先创建学生表然后科目表和分数表三张有着密切关系的表,下文实操分享需要的小伙伴可以参考一下

1.创建学生表

create table tbl_stu (

id int not null primary key auto_increment,

name varchar(45) not null

)engine=innodb default charset=utf8;

#yyds干货盘点# 17 MySQL 创建三张关系表_插入数据

2.创建科目表

create table tbl_sub (

id int not null primary key auto_increment,

subject varchar(45) not null

)engine=innodb default charset=utf8;

#yyds干货盘点# 17 MySQL 创建三张关系表_插入数据_02

3.创建分数表

create table tbl_scores(

id int not null primary key auto_increment,

stu_id int,

sub_id int

score decimal(5,2),

constraint sco_stu foreign key(stu_id) references tbl_stu(id),

constraint sco_sub foreign key(sub_id) references tbl_sub(id)
);

#yyds干货盘点# 17 MySQL 创建三张关系表_插入数据_03

4.插入数据

insert into tbl_stu values (0,"小王");
insert into tbl_stu values (0,"小宋");
insert into tbl_stu values (0,"小李");


insert into tbl_sub values (0,"语文");
insert into tbl_sub values (0,"数学");
insert into tbl_sub values (0,"英语");


insert into tbl_scores values (0,1,1,90);
insert into tbl_scores values (0,1,2,70);
insert into tbl_scores values (0,1,3,82);

insert into tbl_scores values (0,2,1,95);
insert into tbl_scores values (0,2,2,70);
insert into tbl_scores values (0,2,3,84);

insert into tbl_scores values (0,3,1,85);
insert into tbl_scores values (0,3,2,86);

5.查询全部分数

select s3.name,s2.subject,s1.score from tbl_scores as s1

inner join tbl_sub as s2 on s1.sub_id = s2.id

inner join tbl_stu as s3 on s1.sub_id = s3.id;

#yyds干货盘点# 17 MySQL 创建三张关系表_插入数据_04

6.查询学生的平均分

select s3.name,avg(s1.score) from tbl_scores as s1

inner join tbl_stu as s3 on s1.sub_id = s3.id

group by s3.name;

#yyds干货盘点# 17 MySQL 创建三张关系表_插入数据_05

7.总分排行榜

select s3.name,sum(s1.score) as s from tbl_scores as s1

inner join tbl_stu as s3 on s1.stu_id = s3.id

group by s3.name order by s desc;

#yyds干货盘点# 17 MySQL 创建三张关系表_插入数据_06

到此这篇关于MySQL 创建三张关系表实操的文章就介绍到这了,更多相关MySQL 创建关系表内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MYSQL与sqlyog连接的实现

    MYSQL与sqlyog连接的实现

    本文主要介绍了MYSQL与sqlyog连接的实现,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-10-10
  • mysql 5.6.21 安装与配置详细步骤

    mysql 5.6.21 安装与配置详细步骤

    这篇文章主要介绍了mysql5.6.21安装与配置的详细步骤,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • MySQL数据库查询进阶之多表查询详解

    MySQL数据库查询进阶之多表查询详解

    Mysql数据库是web开发中最常用的数据库之一,mysql多表查询是开发人员必备的技能,下面这篇文章主要给大家介绍了关于MySQL数据库查询进阶之多表查询的相关资料,需要的朋友可以参考下
    2022-04-04
  • MySQL启用SSD存储的实例详解

    MySQL启用SSD存储的实例详解

    这篇文章主要介绍了MySQL启用SSD存储的实例详解的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
    2017-10-10
  • 本机连接虚拟机MYSQL的操作指南

    本机连接虚拟机MYSQL的操作指南

    要让本机(主机)连接到虚拟机上的 MySQL 数据库,你需要确保虚拟机和主机之间的网络连接正常,并且 MySQL 配置允许外部连接,本文给大家介绍了本机连接虚拟机MYSQL的操作指南,需要的朋友可以参考下
    2024-12-12
  • MySQL多列IN查询的实现

    MySQL多列IN查询的实现

    多列 IN 查询是一种强大的筛选工具,它允许通过多字段组合快速过滤数据,本文主要介绍了MySQL 多列 IN 查询的实现,具有一定的参考价值,感兴趣的可以了解一下
    2025-03-03
  • 深入mysql并发插入优化详解

    深入mysql并发插入优化详解

    本篇文章是对mysql并发插入优化进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • HeidiSQL工具导出导入MySQL数据

    HeidiSQL工具导出导入MySQL数据

    这篇文章主要为大家详细介绍了HeidiSQL工具导出导入MySQL数据,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • Mysql中使用Union—多表合并之行合并

    Mysql中使用Union—多表合并之行合并

    这篇文章主要介绍了Mysql中使用Union—多表合并之行合并,如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字,union(或称为联合)的作用是将多个结果合并在一起显示出来,需要的朋友可以参考下
    2023-07-07
  • mysql8新特性之binlog_expire_logs_seconds浅析

    mysql8新特性之binlog_expire_logs_seconds浅析

    MySQL8中新增了不少新特性,这些特性提高了数据库的安全性和性能,使数据库管理员能够更灵活地进行账户管理工作,下面这篇文章主要给大家介绍了关于mysql8新特性之binlog_expire_logs_seconds的相关资料,需要的朋友可以参考下
    2023-02-02

最新评论