一、查询

1)查询表中记录

select … from 表名;

  • 省略号处,若为 * ,表示所有字段。若为 字段i,字段j ,则只显示这几个字段,且根据顺序来排列
  • 取别名就 字段i as xx,字段j as yy
    MySQL查询

2)给表取名

select 表名1.字段i,表名1.字段j from 表名1;
--上面这行用法很特殊哦。这个等同于下面这行。
select 表别名1.字段i,表别名1.字段j from 表名 as 表别名1;
MySQL查询
如果取了别名,愣是不用,会报错哦。

3)去重(distinct)

select distinct … from 数据表名;
--重复值会被合并
MySQL查询

二、条件查询

1)比较运算符

> 大于  < 小于  >= 大于等于  <= 小于等于  = 等于  
!= 不等于

2)逻辑运算符

and 与  or 或  not 非  

  • 在谁的条件前面加not,是仅仅否定了这一个条件。如果要否定多个条件,请使用括号

3)模糊查询

like(用通配符)

select … from 数据表 where 字段 like ‘…’;
--第二个省略号处,写的就是模糊查找的值。一个 % 表示替换n个值(n为0-无穷),一个 _表示替换一个值。
MySQL查询

rlike(用正则)

select … from 数据表 where 字段 rlike ‘正则表达式’;
MySQL查询

4)范围查询

  1. 在不连续范围内。

select … from 数据表 where 字段 in (值1,值2^);
MySQL查询

  1. 在连续范围内

select … from 数据表 where 字段 between 界限1 and 界限2;
MySQL查询
10<=age<=20范围内的。
不在连续范围内,用not between and ;这是一种用法,不能加上括号然后整个取反。
not 字段 between and;和上面的用法相同。
MySQL查询

  1. 空判断(is null)
  2. 非空判断(is not null)

三、排序

  1. 单字段排序
  • 记录优先按照主键排序

select * from 数据表名 order by 排序字段 排序方式;
排序方式: 默认正序asc(这个可以不写) 倒序desc 

  1. 多字段排序

select * from 数据表名 order by 排序字段1 排序方式1,排序字段2 排序方式2;
MySQL查询

  • 先写谁就是按照谁排,如果一样,才会看第二个排序条件。

四、聚合函数

!select … from省略号里的是输出的内容,重要的事情说三遍!
!select … from省略号里的是输出的内容,重要的事情说三遍!
!select … from省略号里的是输出的内容,重要的事情说三遍!

select  聚合函数(字段们) from 数据表;
上面返回的是聚合函数的结果

  1. 统计个数 count

MySQL查询

  1. 最大值 max() 最小值 min()

注意看第二段代码,最年长者不是公子小白哦,之所以显示他,是因为他是第一条记录的name。也就是说,函数不带定位的功能,它只能找到计算出某个值而已。
聚合函数只能得出一个结果,是不能和其它字段一起用的。
MySQL查询

  1. 总和 sum() 平均值 avg()

MySQL查询

  1. select…from间除了字段,函数外,还可以放表达式

MySQL查询

  1. 四舍五入保留几位小数 round(值,小数位数)

MySQL查询

  • 小数都是约等于,有误差。整数没有误差,所以算出小数之后,要乘以一个倍数变成整数,再存储。取用时,再缩小同样的倍数。
  • 要存储准确的值,切记,不要用小数.

五、分组

  • 和聚合函数一起用,否则一点意义都没有。比如上面得出了最大年龄,却不知道谁是最年长的,就可以用分组。
  • 分组就是按照某一种依据,分成不同的组
  1. 没结合函数的分组:select 分组依据 from 表名 group by 分组依据;

MySQL查询
没结合函数,是不是啥子用都没得呀?

  1. 统计每个分组里的人数:  分组依据,count(*)

MySQL查询

  1. 每个聚合函数都来一下

MySQL查询

  1. 组里面有谁呢?分类依据,group_concat(字段)

MySQL查询

  1. 只查看某一个组 select 分组依据,表达式 from where 分组依据=第几组的序号 kings group by 分组依据;

MySQL查询

  1. 组里面有谁呢(进阶)?分类依据,group_concat(字段i,字段j,‘随便一段文字’)
    MySQL查询
    group_concat相当于写什么有什么

  2. 找出符合条件的组。最后面:having 条件;

MySQL查询

  • where是对原始表进行条件,在group by前
  • having是对查出来的结果的判断,在group by后

分页

直接限制查询出来的个数。末尾加limit 个数

MySQL查询

limit 开始位置的索引,个数

MySQL查询
limit (第n页-1)x每页的个数 ,每页的个数;
上面这个算式,只是原理的解释,不能运行的。
所有的查询中,limit只能放最后。

相关文章:

  • 2021-05-30
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-12-24
  • 2021-06-04
  • 2021-09-25
  • 2021-11-04
  • 2021-08-03
相关资源
相似解决方案