一:可视化软件(Navicat)

1.什么是可视化软件?

数据可视化软件可将文本和数字数据转换为可视化的图表,图形和表格。 通过将重要数据引入中央界面,它被用作创建应用程序/系统性能或操作仪表板的方法。

2.什么是Navicat?

官网下载Navicat:http://www.navicat.com.cn/download/navicat-for-mysql

Navicat是一个可多重连接的数据库管理工具,它可以连接到MySQL、Oracle、PostgreSQL、SQLite、SQL Server和/或MariaDB数据库,让数据库管理更加方便。Navicat的功能可以满足专业开发人员的所有需求,对数据库服务器的新手来说学习起来也不难。有了极完备的图形用户界面(GUI),Navicat可以简便、安全地创建、组织、访问和共享信息。

Navicat提供三种操作平台:Microsoft Windows、Mac OS X 和Linux。它可以让用户连接到本机或远程服务器、提供一些实用的数据库工具如数据模型、数据传输、数据同步、结构同步、导入、导出、备份、还原、报表创建工具及计划以协助管理数据。



Navicat Premium是一套数据库管理工具,结合了其它Navicat成员的功能,Navicat Premium可满足现今数据库管理系统的使用功能,包括存储过程、事件、触发器、函数、视图等。

  • Navicat 该软件是收费的 但是有很多破解版本 自我百度下载即可(正式版只能使用14天)
为了提高开发的效率 但是不能太过于依赖该软件
其实这些软件的底层还是执行的SQL语句来操作数据库的,只不过是将SQL语句封装到软件内。

二:部署MySQL(Navicat)

1.Navicat连接本地MySQL

2.连接MySQL,输入密码,在点击测试即可,不需要输入HOST,测试成功,会默认填写。

3.查询MySQL内,库和表。

4.创建库



5.创建表



可视化软件内,也可以选择SQL语句编辑,一些代码,可视化软件完成不了时,可以自己使用,可视化软件提供的SQL语句编辑。

6.重新编辑表字段设置

7.编写表数据

8.创建外键
1.外键设置 Foreign Keys
2.设置填写关联信息与被关联信息
3.先刷新设置的外键,在填写出对应的被关联表的设置的外键id,必须对应数据,不对应报错。 注:
如果想要把主键关联id,设置成不重复id,需要在表内编辑,选择sql语句手写自行编辑代码,该可视化软件无该快捷键。



1



2

3

9.图形化当前库下面所有的表关系



10.Query编辑SQL语句

11.使用可视化软件 将MySQL中SQL文件导出到本地

12.使用可视化软件,将本地SQL文件导入到MySQL内

三:使用可视化软件实现(MySQL多表查询)

1.做题思路
写多表查询题跟写代码是一样的 先写思路再写sql
不要想着一次性写完 写一点查一点再写一点 学生--成绩--课程--老师

2.查询所有的课程的名称以及对应的任课老师姓名
1、查询所有的课程的名称以及对应的任课老师姓名
1.先明确需要用到几张表 老师表与课程表
2.查询的结果也必须来源于两种表 步骤1 先连表
SELECT course.cname,teacher.tname FROM course INNER JOIN teacher ON course.teacher_id = teacher.tid;

3.查询平均成绩大于八十分的同学的姓名和平均成绩
查询平均成绩大于八十分的同学的姓名和平均成绩(先明确需要用到两张表)
分解题目执行(提高解题思路) 1.查询平均成绩大于80分的学生id号
按照学生id分组 之后求每个学生的平均成绩
select student_id,avg(num) from score group by student_id; 2.在使用having过滤出平均成绩大于80分的数据
select student_id,avg(num) as avg_num from score group by student_id
HAVING avg(num) > 80; 3.完善(查询平均成绩大于八十分的同学的姓名和平均成绩)
将上述的表与学生表按照学生id拼接到一起
SELECT student.sname,t1.avg_num FROM student INNER JOIN ( SELECT student_id, avg( num ) AS avg_num FROM score GROUP BY student_id HAVING avg( num ) > 80 ) AS t1 ON student.sid = t1.student_id;

# 5.查询没有李平老师课的学生姓名
# 1.先查询李平老师教授的课程编号
# (课程的老师id对应老师id)
-- select course.cid from course where teacher_id = (select tid from teacher where tname = '李平老师'); # 2.根据课程id号筛选出所有报了学生id号
# (老师教授的课程id 筛选出score内的课程id对应,留下来student_id字段)
-- select distinct score.student_id from score where course_id in (select course.cid from course where teacher_id = (select tid from teacher where tname = '李平老师')); # 3.去学生表中根据id号取反筛选学生姓名
-- select student.sname from student where sid not in (select distinct score.student_id from score where course_id in (select course.cid from course where teacher_id = (select tid from teacher where tname = '李平')));
--
# 6.查询没有同时选修物理和体育科技的学生姓名(只要报一门的 两门和一门没报的都不要)
# 1.先获取两门课程的id号
-- select course.cid from course where cname in ('物理','体育'); # 2.在去分数表中先筛选出所有报了物理和体育的学生id(两门 一门);
-- select * from score where course_id in (select course.cid from course where cname in ('物理','体育')); # 3.如何筛选出只报了一门的学生id 按照学生id分组 然后技数 并过滤出计数结果为1的数据
-- select score.student_id from score where course_id in (select course.cid from course where cname in ('物理','体育')) group by score.student_id having count(score.course_id) = 1; # 4.根据学生id号去student表中筛选学生姓名
-- select student.sname from student where sid in (select score.student_id from score where course_id in (select course.cid from course where cname in ('物理','体育')) group by score.student_id having count(score.course_id) = 1);

# 7.查询挂科超过两门(包括两门)的学生姓名和班级
#1.先筛选出小于60分的数据
-- select * from score where num > 60; # 2.按照学生id分组 然后统计挂科数量 -- select student_id,count(course_id) from score where num < 60 group by student_id; # 3.筛选出挂科超过两门的学生id
-- select student_id from score where num < 60 group by student_id having count(course_id) >=2; # 4.先将上述结果放在一边 去连接student和class表 -- select student.sname,class.caption from class inner join student on class.cid = student.class_id where student.sid in (select student_id from score where num < 60 group by student_id having count(course_id) >=2);

MySQL可视化软件(Navicat)部署与使用的更多相关文章

  1. MySQL— pymysql模块(防止sql注入),可视化软件Navicat

    一.Pymysql import pymysql #python2.X 中是 mysqldb 和 pythonmysql 用法是一模一样的 #pymysql可以伪装成上面这两个模块 user = in ...

  2. HAVING,多表查询思路,可视化软件navicat,多表查询练习题,

    HAVING "where"是一个约束声明,在查询数据库的结果返回之前对数据库中的查询条件进行约束,即在结果返回之 前起作用,且"where"后面不能写&quo ...

  3. MySQL可视化软件Work Bench导出导入数据库

    首先打开你的work bench,输入你的密码进入主页面 A:导入数据库 在Schemas空白处右键选择Create~:建立一个数据库,然后就可以导入你的sql文件了 File-->Open S ...

  4. Mysql客户端软件

    Mysql客户端软件Navicat,使用起来很方便; PremiumSoft Navicat for MySQL Enterprise Edition v8.0.27姓名(Name):3ddown.c ...

  5. 多表查询思路、navicat可视化软件、python操作MySQL、SQL注入问题以及其他补充知识

    昨日内容回顾 外键字段 # 就是用来建立表与表之间的关系的字段 表关系判断 # 一对一 # 一对多 # 多对多 """通过换位思考判断""" ...

  6. python 全栈开发,Day63(子查询,MySQl创建用户和授权,可视化工具Navicat的使用,pymysql模块的使用)

    昨日内容回顾 外键的变种三种关系: 多对一: 左表的多 对右表一 成立 左边的一 对右表多 不成立 foreign key(从表的id) refreences 主表的(id) 多对多 建立第三张表(f ...

  7. mysql更新(八) 可视化工具Navicat的使用 索引

    17-索引   一.索引的介绍 数据库中专门用于帮助用户快速查找数据的一种数据结构.类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置吗,然后直接获取. 二 .索引的作用 约束和加速查 ...

  8. MySQL---5、可视化工具Navicat for MySQL安装配置

    一.安装文件包下载 Navicat for MySQL 安装软件和破解补丁: 链接:https://pan.baidu.com/s/1oKcErok_Ijm0CY9UjNMrnA   密码:4xb1 ...

  9. MySQL数据库(4)- 多表查询、可视化工具Navicat的使用、设计模式MVC

    一.多表查询 准备工作:创建两张表,部门表(department).员工表(employee),代码和表格如下: # 创建表 create table department( id int, name ...

  10. mysql(单表查询,多表查询,MySQl创建用户和授权,可视化工具Navicat的使用)

    单表查询 语法: 一.单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT ...

随机推荐

  1. JS 模块化- 04 CMD 规范与 Sea JS

    1 CMD 规范介绍 CMD: Common Module Definition, 通用模块定义.与 AMD 规范类似,也是用于浏览器端,异步加载模块,一个文件就是一个模块,当模块使用时才会加载执行. ...

  2. 关于javascript:void(0) 在不用的浏览器当中的表现

    原因在于三款浏览器,对三个属性的处理顺序不同. Chrome顺序:onclick -> href -> target IE和Firefox顺序:onclick -> target - ...

  3. 齐博x1.1用户登录接口

    用户的登录主要涉及到小程序登录.APP的帐号密码登录.APP的微信开发平台帐号登录.相应的地址是:http://qb.net/index.php/index/wxapp.login/index.htm ...

  4. eDP接口简介

    1. eDP背景介绍   随着显示分辨率的越来越高,传统的VGA.DVI等接口逐渐不能满足人们的视觉需求. 随后就产生了以HDMI.DisplayPort为代表的新型数字接口,外部接口方面HDMI占据 ...

  5. CentOS 7.9 Related Software Directory

    一.CentOS 7.9 Related Software Directory Installing VMware Workstation Pro on Windows Installing Cent ...

  6. .Net 文件导出下载

    //1.首先要有文件路径 2.要知道文件扩展名 3.根据扩展名在Provider Map对应的contentType 4.return FileSteam public IActionResult E ...

  7. SQL--Row_Number() over()的使用

    1.语法 --over里面有两个参数 --partition by 用于分割区域 此参数可选 --order by 用于排序 此参数必有 row_number() over(partition by ...

  8. [苹果APP上架]ios App Store上架详细教程-一条龙顺滑上架-适合小白

    如何在 2022 年将您的应用提交到 App Store 您正在启动您的第一个应用程序,或者距离上次已经有一段时间了.作者纸飞机@cheng716051来给你讲讲将应用程序提交到 App Store ...

  9. 从小白到架构师(4): Feed 流系统实战

    「从小白到架构师」系列努力以浅显易懂.图文并茂的方式向各位读者朋友介绍 WEB 服务端从单体架构到今天的大型分布式系统.微服务架构的演进历程.读了三篇万字长文之后各位想必已经累了(主要是我写累了), ...

  10. el-scrollbar 监测滚动条

    export function processScroll (_this) {   let _self = _this   let scrollbarEl = _this.$parent.wrap   ...