二.navicate
navicat
-创建
-新建查询
-转储sql文件
命令:
转储当前目录所有的文件与数据:mysqldump -u root db4 > db4.sql -p
转储当前目录到表结构没有数据:mysqldump -u root -d db4 > db4.sql -p
导入文件:mysqldump -u root -d db4 < db4.sql -p
执行导入文件之前一定要有数据库:
create dabatase db5;
mysqldump -u root -d db5 < db1.sql -p;
注释语句有空格:-- select * from score where number>=60;
练习:
-- select * from score where number>=60;
-- select * from course group by tearch_id;
-- 每个老师教了几门课进行统计:
-- select tearch_id,count(cname) from course group by tearch_id;
-- 显示课程表的所有字段名称,并且要显示老师姓名,需要连表查询:
-- select * from course
-- LEFT JOIN teacher on course.tearch_id=teacher.tid;
-- 显示学生的所有字段,并要显示班级,需要连表查询:
--select *from student
--left join class on student.class_id=class.uid;
-- 显示性别字段,并要统计男女的个数,需要连表查询:
-- 1.select * from student
-- 2.select * from student group by gender
-- 3.select gender,count(gender) from student group by gender
select gender,count(gender) from student group by gender;
-- 这么写也可以
select gender,count(sid) from student group by gender;
第二段:
临时表创建:
select sid from (select * from score where number > 60) as B;
这么写就报错,因为临时表中没有sid字段。必须用as B才会临时表。
select sid from (select num,course from score where number > 60) as B;
select * from score;
select student_id from score group by student_id;
select student_id,avg(number)from score group by student_id;
select student_id,avg(number)from score group by student_id having avg(number)>60;
select * from (select student_id,avg(number)from score group by student_id having avg(number)>60) as B;
select * from (select student_id,avg(number)from score group by student_id having avg(number)>60) as B
left join student on B.student_id = student.sid;
select student_id,sname from (select student_id,avg(number)from score group by student_id having avg(number)>60) as B
left join student on B.student_id = student.sid;
select B.student_id,student.sname,ccc from (select student_id,avg(number) as ccc from score group by student_id having avg(number)>60) as B
left join student on B.student_id = student.sid;
select * from score left join student on score.student_id=student.sid;
select score.student_id,student.sname from score left join student on score.student_id=student.sid;
select sid,1 from tb;显示sid的同时,多加一列为1
select score.student_id,student.sname,count(student_id),sum(number) from score left join student on score.student_id=student.sid group by score.student_id;
没学过老师的课程:
select * from course left join teacher on course.tearch_id=teacher.tid where teacher.tname="空空";
select teacher.tid from course left join teacher on course.tearch_id=teacher.tid where teacher.tname="空空";
select * from score where course_id not in (2,4);
select * from score where course_id not in (select teacher.tid from course left join teacher on course.tearch_id=teacher.tid where teacher.tname="空空")
select * from score where course_id not in (select teacher.tid from course left join teacher on course.tearch_id=teacher.tid where teacher.tname="空空")
group by student_id;
select * from (select score.student_id as bid from score where course_id not in (select teacher.tid from course left join teacher on course.tearch_id=teacher.tid where teacher.tname="空空") ) as B
left join student on B.bid=student.sid;
选过的老师ID
select * from score where course_id in (select teacher.tid from course left join teacher on course.tearch_id=teacher.tid where teacher.tname="空空")
6.没有选过老师的学生的信息
select * from student where sid not in (select student_id from score where course_id in (select course.cid from course
left join teacher on course.tearch_id=teacher.tid where teacher.tname="空空")
group by student_id)
select student.sid,student.sname from student where sid not in (select student_id from score where course_id in (select course.cid from course
left join teacher on course.tearch_id=teacher.tid where teacher.tname="空空")
group by student_id)
2.物理>物理的成绩选取
select * from score
left join course on score.course_id=course.cid;
select * from score
left join course on score.course_id=course.cid where course.cname="生物";
字段筛选:
select score.sid,score.student_id,course.cname,score.number from score
left join course on score.course_id=course.cid where course.cname="生物";
select score.sid,score.student_id,course.cname,score.number from score
left join course on score.course_id=course.cid where course.cname="物理";
两列数据中,同行进行比较
select * from tb1 id1>id2
将生物列出来的表,与物理成绩列出的信息,联成一张表,进行一个学生的成绩进行比较
select * from
(select score.sid,score.student_id,course.cname,score.number from score
left join course on score.course_id=course.cid where course.cname="生物") as A
inner join
(select score.sid,score.student_id,course.cname,score.number from score
left join course on score.course_id=course.cid where course.cname="物理") as B
on A.student_id=B.student_id
where A.number>B.number;
二.navicate的更多相关文章
- Python全栈开发之MySQL(二)------navicate和python操作MySQL
一:Navicate的安装 1.什么是navicate? Navicat是一套快速.可靠并价格相宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设.它的设计符合数据库管理员.开发人员及中小 ...
- Navicate 连接阿里云MySQL(两种方式及原理讲解)
Navicate 连接阿里云(两种方式及原理讲解) 一.直连方式(通过3306端口) 1.概述 2. 环境准备 3.操作及讲解 二.使用SSH通道 1.概述 2.环境准备 3.操作及讲解 如果对你有帮 ...
- 【小程序分享篇 二 】web在线踢人小程序,维持用户只能在一个台电脑持登录状态
最近离职了, 突然记起来还一个小功能没做, 想想也挺简单,留下代码和思路给同事做个参考. 换工作心里挺忐忑, 对未来也充满了憧憬与担忧.(虽然已是老人, 换了N次工作了,但每次心里都和忐忑). 写写代 ...
- 前端开发中SEO的十二条总结
一. 合理使用title, description, keywords二. 合理使用h1 - h6, h1标签的权重很高, 注意使用频率三. 列表代码使用ul, 重要文字使用strong标签四. 图片 ...
- 【疯狂造轮子-iOS】JSON转Model系列之二
[疯狂造轮子-iOS]JSON转Model系列之二 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇<[疯狂造轮子-iOS]JSON转Model系列之一> ...
- 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新
上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...
- 谈谈一些有趣的CSS题目(十二)-- 你该知道的字体 font-family
开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...
- MIP改造常见问题二十问
在MIP推出后,我们收到了很多站长的疑问和顾虑.我们将所有疑问和顾虑归纳为以下二十个问题,希望对大家理解 MIP 有帮助. 1.MIP 化后对其他搜索引擎抓取收录以及 SEO 的影响如何? 答:在原页 ...
- 如何一步一步用DDD设计一个电商网站(二)—— 项目架构
阅读目录 前言 六边形架构 终于开始建项目了 DDD中的3个臭皮匠 CQRS(Command Query Responsibility Segregation) 结语 一.前言 上一篇我们讲了DDD的 ...
- ASP.NET Core 之 Identity 入门(二)
前言 在 上篇文章 中讲了关于 Identity 需要了解的单词以及相对应的几个知识点,并且知道了Identity处在整个登入流程中的位置,本篇主要是在 .NET 整个认证系统中比较重要的一个环节,就 ...
随机推荐
- JavaScript 中的 apply、call、bind
在 JavaScript 中,apply.call.bind 是三个与函数调用相关的方法,它们都允许你在调用函数时手动设置函数的上下文(即 this 指向). 1.apply 方法:apply 方法允 ...
- JZOJ 2020.02.01【NOIP提高组】模拟A 组
2020.02.01[NOIP提高组]模拟A 组 二月份第一场比赛 闲话 惨烈啊! 50+30+0=80分 一题都没A 唉 最高150? \(zzh\) 暴虐A组 总结: 若干新东西 \(T1\) 我 ...
- IP地址后面/24/26/27/28/29/30网关数量分别是多少?如何计算?
转载csdn: https://blog.csdn.net/jinfengyunIDC/article/details/112575286
- LAMP环境搭建——最详细的手工编译
环境:阿里云服务器ECS,Alibaba Cloud Linux 3.2104 LTS 64位 ,2核(vCPU) 2 GiB LAMP 是搭建Web应用时最常用的环境,LAMP 分别表示 Linux ...
- JavaWeb中的Servlet
Servlet 目录 Servlet 一.互联网中的资源 二.Servlet 2.1.Servlet的作用 2.2.Servlet执行流程 2.3.Servlet生命周期 2.4.Servlet的继承 ...
- EF Core自动将实体映射到数据库
protected override void OnModelCreating(ModelBuilder modelBuilder) { try { var compilationLibrary = ...
- 搭建CI环境和git使用
部署Git+Gerrit+Jenkins 的CI环境 使用Git作为代码存储及版本控制 使用Jenkins进行自动化构建 构建测试通过后,再交给人工review 人工review通过后,自动同步到远程 ...
- E-MU1212m(E-MU1616m)在Win10(Win11)中的驱动安装
创新(Creative)公司早期生产的专业PCI声卡E-MU1212m及E-MU1616m当前二手市场上的性价比非常高,但由于生产年代久远,其驱动程序最高只支持到Windows vista版本,经过实 ...
- Linux改密码失败authentication token manipulation error 的处理办法
给root改密码时提示:passwd authentication token manipulation error 代表一是有可能是磁盘存储不足了,另一个原因是因为密码文件被赋予了特殊权限,不可被修 ...
- 只会Jquery,后端程序员如何学会前端(webpack,react,babel,es5,es6)
写在前 希望通过短暂的学习,可以达到一下目标: 1.能看懂现在前端的工程化手段 2.知道当前前端群体中大致的解决问题的思路 3.当前的问题在哪里,技术发展趋势是什么 4.建立起自己的认知模型 文章内容 ...