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;