一、Navicat

Navicat是一个数据库管理软件。它是一个可视化的去连接MySQL的这么一个工具,本质上就是一个套接字客户端,只不过它是一个图形界面版的。它内部帮你封装了sql语句,给你暴露比较简单的操作接口。

navicat 很强大,不单单可以连MySQL,还可以充当很多数据库软件的客户端,比如Oracle,PostgreSQL,SQL Server,MariaDB,...

安装好了以后

输入密码,连接测试,成功之后选确定,就连接上了MySQL服务端

右键localhost_3306(因为我这个服务端现在是在本地的),选择“新建数据库”

新建数据库 例如取名db2,然后字符集选择utf8, 排序规则选择utf8_general_ci(排序规则也可以不选,默认空着就行)

(补充:字符集如果选择utf8mb4则支持存表情)

逆向数据库到模型能看到库下表和表之间的关系

鼠标放在这条线上,会显示两个表的字段之间的关系

还可以自建模型,再从模型生成表

查询

备份数据(比如别人电脑上navicat有一个库或者一张表,你想要一个一摸一样的),

保存起来

假设现在你的同事把他的库或者表基于网络通信发给你了(比如你已经存在你的桌面上了),怎么在你的navicat中看到他们呢?

现在我们新建一个db3库(我现在是本地和本地玩)

现在我们先从别人那里导进来几张表,等一会儿做一下练习题

新建一个day36这么一个库,导过来发现是5张表,看一下这5张表之间的关系

插入一个知识点:

navicate 和 Excel

1、把查询的结果导出到excel

也可以直接把表用Excel导出来

2、把excel的数据导入到navica

参考文献:https://blog.csdn.net/qq_39135287/article/details/80881746

先在navicat里创建一个表并根据Excel里面的字段设计表的字段和结构

比如Excel表如下:

注意:id为自增长,所以不需要准备id。如果准备了反而会导入不成功!

id为自增长,所以不需要准备id的数据

现在tttt这个库里面只有表结构,没有数据。现在我们把Excel里的数据导入到这张tttt表里

刷新一下:

现在回到我们的练习题

student表的class_id是外键,关联的是class表的cid字段

score表的student_id和course_id是外键,分别关联的是student表的sid和course表的cid字段(student表和course表相当于是多对多的关系,靠score表连接)

course表的teacher_id是外键,关联的是teacher表的tid字段

1、 查询所有的课程的名称以及对应任课老师姓名

首先课程名称都在课程表里,任课老师都在老师表里,所以确定之和course表和teacher表这两个表有关

2、查询学生表中男女各有多少人

3、 查询没有报李平老师课的学生姓名

总体思路:首先我要知道李平老师都教了哪些课,因为一个学生可以报多门课(去看score表,可见一个学生对应多个course_id),所以需要从学生总体中刨除那些报了李平老师课的学生

4、没有同时选修物理和体育课程的学生姓名

会想到把同时选了物理和体育的学生都找到,从总学生中把这些学生都刨出去

去score表里找一下student_id对应course_id是2和3的

如果有两条1个student_id对应两条记录说明两个课都选了,所以考虑用student_id分组,并用count(sid)计算sid个数

剩余题目

1、查询物理成绩等于100的学生的姓名

2、查询平均成绩大于八十分的同学的姓名和平均成绩

3、查询所有学生的学号,姓名,选课数,总成绩

4、查询姓李老师的个数

5、查询物理课程比生物课程高的学生的学号

6、查询挂科超过两门(包括两门)的学生姓名和班级

7、查询选修了所有课程的学生姓名

8、查询李平老师教的课程的所有成绩记录

9、查询全部学生都选修了的课程号和课程名

10、查询每门课程被选修的次数

11、查询只选修了一门课程的学生姓名和学号

12、查询所有学生考出的成绩并按从高到低排序(成绩去重)

连表是因为有的学生没有选课,没有成绩

13、查询平均成绩及格的学生姓名和平均成绩

14、查询生物成绩不及格的学生姓名和对应生物分数

15、查询在所有选修了李平老师课程的学生中,这些课程(注意是李平老师的课程,不是所有课程,因为李平老师

教了不止一门课程)平均成绩(即李平老师教的所有课程的平均成绩)最高的学生姓名

16、查询体育课程成绩最好的前两名学生姓名

mysql所有选修课程都及格_Day37:MySQL 数据库 ---(7)相关推荐

  1. mysql查询选修课程的学生_[MySQL]查询学生选课的情况(一)

    这是我工作遇到的问题,现在自己设计一个简化的类似场景,现实中这样的数据表设计可能有很多不合理的地方. 首先看表结构: +--------+--------------+------+-----+--- ...

  2. Hive实现:1、获取每个人最高分对应的学科和分数(学生最高分);2、获取每门课程都高于平均分的人、课程和分数(三好学生:每科高于平均分);3、获取每个学科都及格(即不低于60分)的学生

    数据表和需求 表名:student, 结构和具体内容如下: name course score zs Math 100 zs Engl 80 ls Math 90 ls Engl 70需求如下: 1. ...

  3. mysql查询 多门课程的平均成绩_数据分析中级 MySQL 任务6 总结复习

    0 入门 0.1 MySQL安装,Navicat安装: 0.2 MySQL设置,Nacicat设置,包括链接点,unicode-8: 0.3 创建表格,student, course, score, ...

  4. mysql职业要求_为什么面试的每一家都要求掌握MySQL?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 毕业后打算从事编程,所以自学了Java,在面试时发现很多企业都要求会MySQL.还好我有先见之明,跟学长要了一份他之前的教程资料,现在我已经顺利通过面试了 ...

  5. “不会MySQL,干啥都不行!”高级开发:工作、面试处处都会踩坑!

    在说起 MySQL,我想每一个开发者都不会陌生,作为一个超 80% 开发者都在使用的数据库,几乎所有一线大厂,都在用! 01 多数人只掌握了一些皮毛 但是在我使用 MySQL 将近 20 年的过程中, ...

  6. 【php毕业设计】基于php+mysql+apache的课程网站管理系统设计与实现(毕业论文+程序源码)——课程网站管理系统

    基于php+mysql+apache的课程网站管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于php+mysql+apache的课程网站管理系统设计与实现,文章末尾附有本毕业设计的 ...

  7. select每门可说大于90分_查找选修课程超过3门,并且成绩都在90分以上的学生的学号_学小易找答案...

    [简答题]查询学生姓名中第三个字是"雷"的学号,姓名,课程名称,单科成绩 [单选题]有两个表的记录数分别是7和9,对两个表执行交叉连接查询,查询结果中最多得到()条记录 [简答题] ...

  8. mysql schema 保存数据_在MySQL中,所有触发器的定义都保存在information_schema数据库下的()表中。_学小易找答案...

    [单选题]如何将英制 的零件转为公制的零件 ( ). [判断题]连续选择边线创建倒角时,不能单独修改某一边线的倒角大小 [判断题]创建筋特征时截面必须是闭和的 [填空题]Hibernate 的会话接口 ...

  9. CSDN学霸课表——2017最新MySQL DBA核心课程

    2017最新MySQL DBA核心课程 讲师:老男孩 整套课程涵盖数据库介绍,安装,备份,主从复制,引擎,事务等.带领学员,掌握MySQL 数据库的本领,学完课程后,学员可以达到企业中级DBA标准,可 ...

最新文章

  1. linux写时复制技术初探
  2. 移动前端开发之viewport,devicePixelRatio的深入理解
  3. 一个历史遗留项目清理总结
  4. 74. Search a 2D Matrix (Graph; Divide-and-Conquer)
  5. Tech·Ed 2007大会课程内容
  6. python找出只出现一次的数字_Python数组中只出现一次的数字
  7. HDU 1244 DP
  8. python为什么没有指针_Python 没有指针,如何解算法题?
  9. CS-- WebService、 windowsService
  10. 诗与远方:无题(七十九)- 望红云而作
  11. python 制作高斯mask_Python中numpy如何生成mask图像
  12. 华为机试HJ30:字符串合并处理
  13. Anciroid的IPC机制-Binder概述
  14. Linux嵌入式时区修改
  15. Angular CLI: 全局脚本
  16. paip.备份导出ANDROID安卓自带记事本内容
  17. Linux运维工程师面试题库,Linux运维工程师面试题库
  18. kiwi浏览器打开网页慢_kiwi浏览器
  19. MFC 鼠标光标资源 及 更换
  20. 网络层和传输层各种协议

热门文章

  1. 【React深入】setState的执行机制
  2. Xshell利用密钥远程登录Linux
  3. Java核心技术卷1: 多线程
  4. vb.net 同时给多个属性赋值_一个float值赋值给double,结果是什么?进来重温一下类型提升吧...
  5. 黑马博客——详细步骤(十)项目功能的实现之开发环境与生产环境
  6. ddt-TypeError: test_add_department_1() missing 3 required positional arguments
  7. git21天打卡day20-合并分支
  8. 软件测试必学之python+unittest+requests+HTMLRunner编写接口自动化测试集
  9. 访问服务器显示无法访问目标主机,发送4接收4无法访问目标主机
  10. json 文档拆分工具_如何把PDF多页文档拆为单页?快看高手私藏实用的技巧