Navicat使用方法

1.Navicat连接本地MySQL

image

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

image

3.查询MySQL内,库和表。

image

4.创建库

image
image

5.创建表

image
image

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

image

6.重新编辑表字段设置

image

7.编写表数据

image

8.创建外键

1.外键设置 Foreign Keys
2.设置填写关联信息与被关联信息
3.先刷新设置的外键,在填写出对应的被关联表的设置的外键id,必须对应数据,不对应报错。

注:
	如果想要把主键关联id,设置成不重复id,需要在表内编辑,选择sql语句手写自行编辑代码,该可视化软件无该快捷键。

image
1
image
2
image

3
image

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

image
image

10.Query编辑SQL语句

image

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

image

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

image

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

1.做题思路

写多表查询题跟写代码是一样的 先写思路再写sql
不要想着一次性写完 写一点查一点再写一点

学生--成绩--课程--老师

image

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

1、查询所有的课程的名称以及对应的任课老师姓名
1.先明确需要用到几张表  老师表与课程表
2.查询的结果也必须来源于两种表

步骤1 先连表
SELECT course.cname,teacher.tname FROM course INNER JOIN teacher ON course.teacher_id = teacher.tid;

image

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;

image

posted @ 2022-02-22 15:58  zong涵  阅读(1304)  评论(0编辑  收藏  举报