这几天来 Mysql 的学习总结

这几天来 Mysql 的学习总结

这两天呢,也算是在毅力的坚持下,学完了前半部分 Mysql 的知识,嗯。。。之前没接触过,不过还好,目前学到的 Mysql 还算简单,下面就总结一下学到了那些知识:

  1. 对数据库及表的操作,对表结构的修改,对数据的增删改查(前面有篇文章已经说过了,这里就不再多说了)
  2. 去重查询
  3. 条件查询,范围查询,模糊查询,排序
  4. 聚合分组查询
  5. 分页查询,链接查询
  6. 自关联查询,子查询

具体知识点总结:

.

【1】 对数据库及表的操作,对表结构的修改,对数据的增删改查(前面有篇文章已经说过了,这里就不再多说了)

【2】去重查询:在这里插入图片描述

据这几次实践操作亲手实验来看,去重查询嘛,无非就是这样的用法:
select distinct gender from school;
但是有一点吧,我发现,这个去重的某一个字段 不能和 其他 (某些特殊) 字段同时被查询
比如说,当我这样用的时候,去重没起到任何作用:
select distinct(name) as '名字', id as '编号' from school;
或者这样用:
select distinct name as '名字', id as '编号' from school;
再或者这样用,都不起作用:
select distinct (name as '名字', id as '编号') from school;
然鹅当我这样用的是时候(我把 id 换成了 name),No promblem:
select distinct(name) as '名字', age as '年龄' from school;
具体来说,我总结了条规律::::::::
当 去重的字段和主键 字段一起查询的时候,去重不起作用,当 去重的字段和 非主键的字段一起查询的时候,起作用。

【3】条件查询,范围查询,模糊查询,排序

条件查询和范围查询:
在这里插入图片描述

条件查询嘛,就这么点内容,select 语句后面加上 where ,后面再加上一些筛选条件:
select name,id from school where name like '老_'; 这里的 name like '老_'; 其实是模糊查询里面的,嗯。。。。听我解释,这里。。。。。确实是条件查询,可是吧。。。。我就喜欢和别的知识点联系起来。。。这里说一下模糊查询吧。。。这里的 name like '老_'; 里面的_单下划线,可以匹配单个字符,包括中文,还有一个,就是%百分号 ,可以匹配任意多个字符,也包括中文。这里简单说一下模糊查询,下面还要细讲。嗯。。。。条件查询,这里这个例子不太好,我们换一个。
嗯。。。。。。范围查询,第二个例子:
select name,id from school where id between 2 and 7; 这里的,引出了一个范围查询,between 2 and 7,除此之外,还有这个用法 id in(1.2,3),这里呢,不多说了,范围查询嘛,就简单的用法,记起来不难,用起来更不难。

模糊查询:在这里插入图片描述

上面呢,已经讲了一部分模糊查询的例子,这里呢,具体讲一下:
模糊查询呢,一种使用 like 来进行判断,另一种使用 rlike 判断
只不过呢,两种用法不同,like这种模糊查询呢,局限很大,就两种手段,1.通过 _单下划线2.通过 %百分号
然鹅 rlike 呢,后面 用的是 郑子表达式。一般还是推荐 用 rlike 这种办法
上面的例子说了使用方法。

排序:在这里插入图片描述

这里呢,排序只说一点 asc 是升序 ,desc是降序

【4】聚合分组查询:

在这里插入图片描述
在这里插入图片描述

聚合函数,一般有 count() sum() avg() …这个呢,记住这几个常用的,其他的呢,实在不知道的,先去百度查就可以,本来数据库就不是知识库,而是工具库,用来存数据的,会用就会够了。
分组呢,这里说一下,这里的分组查询,以谁分组,你需要显示的内容里面一定有这个字段名,其他 需要显示的字段,要看 你分组的东西里面有没有代表性的字段,不可以显示分组中 没有代表性的字段。

【5】分页查询,链接查询:在这里插入图片描述在这里插入图片描述

分页查询:
这里需要说的地方是这里:limit 0, 5前面的 0代表从第几条数据开始,第一条数据从0开始。
这里的 5是每页可以显示多少条数据。后面 limit 5, 5,前面的 5是从第六条数据开始,后面的 5是每页最多显示五条数据。这里呢,有一个规律,逗号前面的那个数,可以套用这个公式:(第几页-1) * (每页最多显示的数据量)
链接查询:
分为 inner joinleft join还有right join,这个呢,具体说一下 inner joinleft join,这两个 最主要的区别呢,就是当 左右两个表联合的时候,会拿着前面的表和后面的表匹配,当有没有匹配到的数据时,前者不显示,后者显示为 null

【6】自关联查询:在这里插入图片描述

同一张表中 pid 的值直接关联 aid 的值,也就是,同一张表中的数据相互关联,具体也挺好理解,看上面的图。

【7】子查询在这里插入图片描述

子查询呢,就是一个查询语句里嵌套面另外一查询语句。连个查询语句都可以独立完成某一功能。

发布了36 篇原创文章 · 获赞 75 · 访问量 5459

猜你喜欢

转载自blog.csdn.net/weixin_44449518/article/details/97977023
今日推荐