川石教育
全国咨询热线:136-9172-9932
  1. 首页 > 资讯与干货 > IT资讯

Mysql表的增删改查(进阶版)

作者:川石学院 日期:2022-07-28 11:24:09 点击数:

  一天一个关于测试知识点,5分钟内讲解你最关心的软件测试问题,今天就接着来谈谈关于软件测试中的“Mysql表的增删改查”。

MySQL:数据库安装,基本配置及客户端工具使用(图1)

  新增

  insert into B select * from A;//将A表的信息通过查询新增到B表中去

Mysql表的增删改查(进阶版)(图2)

  聚合查询

  count;//返回到查询的数据总和

Mysql表的增删改查(进阶版)(图3)

  sum;//返回到查询的数据总和(只对数字有意义)

Mysql表的增删改查(进阶版)(图4)

  只对数字有意义

Mysql表的增删改查(进阶版)(图5)

  avg/max/min;//返回查询数据的平均值/最大值/最小值(只对数字有意义)

Mysql表的增删改查(进阶版)(图6)

  分组查询

  select * from 表名 group by 分组条件;

Mysql表的增删改查(进阶版)(图7)

  这里是先执行分组,再根据分组执行每个组的聚合函数。

  条件查询

  having;

  group by 子句进行分组以后,需要对分组结果再进行条件过滤时,就可以使用having。where是在分组之前执行,如果要对分组之后的结果进行条件筛选,就需要使用having(having搭配group by使用)。

  例如:求每种角色的平均薪资,除了吴九。(这里就是用where,分组之前指定条件,先去除吴九,在分组求平均薪资。

Mysql表的增删改查(进阶版)(图8)

  求每种角色平均薪资,只保留平均薪资10000以下的,这里就用having。要先求出平均薪资才能进行筛选。

Mysql表的增删改查(进阶版)(图9)

  联合查询

  第一种写法:select * from 表名1,表名2;

  第二种写法:select * from 表名1 join 表名2 on 条件;

  联合查询(较重要)是多表查询,前面的查询都是单表查询。多表查询中的核心操作---笛卡尔积。

  笛卡尔积的运算就是将两个表的每条记录分别进行组合,得到一组新的记录。

Mysql表的增删改查(进阶版)(图10)

  以上记录并不都是我们想要的结果,我们可以通过筛选得到我们想要的结果。

Mysql表的增删改查(进阶版)(图11)

Mysql表的增删改查(进阶版)(图12)

  那么join on后面跟条件和 用where 跟条件有什么区别呢?

  from多个表where写法叫做“内连接"。

  使用 join on的写法,既可以表示内连接,还可以表示外连接。

  select 列名 from 表1 inner join 表2 on条件;inner join表示是"内连接"其中inner可以省略。

  select 列名 from 表1 left join 表2 on条件;左外连接。

  select列from表1 right join表2 on条件;右外连接。

Mysql表的增删改查(进阶版)(图13)

  自连接

  自连接是指在同一张表连接自身进行查询。

  例如:显示所有 “ 语文 ” 成绩比 “数学” 成绩高的成绩信息。

  首先要知道语文和数学这两门课程的course_id,先找到这俩门课程。然后在比较他俩高低。

  select s1.student_id,s1.score,s2.score from score as s1,score as s2 where s1.student_id=s2.student_id and s1.course_id=3 and s2.course_id=1 and s1.score>s2.score;

Mysql表的增删改查(进阶版)(图14)

  合并查询

  union;//这个可自动去重

  union all;//这个不可自动去重

  该操作符用于取得两个结果集的并集。

  例如:查询id小于3,或者名字为“英文”的课程。

  select * from course where id<3 union select * from course where name='英文';

  或者使用or来实现

  select * from course where id<3 or name='英文';


相关文章
  • 亚马逊运营成功转行软件测试,薪资13K表示很满意!2022-07-28 11:24:09
  • 西安川石的兰朋友喊你来当他的学弟学妹啦!2022-07-28 11:24:09
  • 国外的月亮也不一定比国内测试猿的年薪美~2022-07-28 11:24:09
  • 建筑工程专业朱同学成功转行为软件测试人!2022-07-28 11:24:09
  • 财务管理专业转行软件测试月薪甩会计几条街!2022-07-28 11:24:09
  • 只有技术沉淀才能成功上岸,深圳就业薪资13K!2022-07-28 11:24:09
  • 薪资11K!实现自我价值,从掌握一门IT技术开始...2022-07-28 11:24:09
  • 文科生转行软件测试照样拿下高薪15K!2022-07-28 11:24:09
  • 恭喜罗同学喜提19.5K,成功入行软件测试!2022-07-28 11:24:09
  • 毕业1年,迷茫的他最终选择转行软件测试2022-07-28 11:24:09