【mysql】基础-SQL-DQL

DQL:数据查询语言,用来查询数据库中表的记录

语法:

SELECT

    字段列表

FROM

    表名字段

WHERE

    条件列表

GROUP BY

    分组字段列表

HAVING

    分组后的条件列表

ORDER BY

    排序字段列表

LIMIT

    分页参数


基础查询

查询多个字段:
    SELECT 字段1, 字段2, 字段3, ... FROM 表名;
   SELECT * FROM 表名;

设置别名:
   SELECT 字段1 [ AS 别名1 ], 字段2 [ AS 别名2 ], 字段3 [ AS 别名3 ], ... FROM 表名;
   SELECT 字段1 [ 别名1 ], 字段2 [ 别名2 ], 字段3 [ 别名3 ], ... FROM 表名;

去除重复记录:
   SELECT DISTINCT 字段列表 FROM 表名;

转义:
   SELECT * FROM 表名 WHERE name LIKE '/_张三' ESCAPE '/'
        / 之后的_不作为通配符

 使用演示:


条件查询

语法:
SELECT 字段列表 FROM 表名 WHERE 条件列表;

常用条件 使用演示:


 聚合查询(聚合函数)

聚合函数:将一列数据作为一个整体,进行纵向计算

常用的聚合函数

 语法:

        SELECT 聚合函数(字段列表) FROM 表名;

注意: NULL值是不参与所有聚合函数运算的。

使用演示:


 分组查询

语法:
   SELECT 字段列表 FROM 表名 [ WHERE 条件 ] GROUP BY 分组字段名 [ HAVING 分组后的过滤条件 ];

where 和 having 的区别

  • 执行时机不同:where是分组之前进行过滤,不满足where条件不参与分组;having是分组后对结果进行过滤。
  • 判断条件不同:where不能对聚合函数进行判断,而having可以。

 注意事项:

  • 分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。
  • 执行顺序:where >聚合函数> having。
  • 支持多字段分组,具体语法为:group by columnA,columnB

 使用演示:


排序查询

语法:
   SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1, 字段2 排序方式2;

排序方式:

  • ASC: 升序(默认)
  • DESC: 降序

注意事项:

        如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序

 使用演示:


分页查询

语法:
   SELECT 字段列表 FROM 表名 LIMIT 起始索引, 查询记录数;

 

注意事项

  • 起始索引从0开始,起始索引 = (查询页码 - 1) * 每页显示记录数
  • 分页查询是数据库的方言,不同数据库有不同实现,MySQL是LIMIT
  • 如果查询的是第一页数据,起始索引可以省略,直接简写 LIMIT 10

 使用演示:


DQL执行顺序

FROM -> WHERE -> GROUP BY -> SELECT -> ORDER BY -> LIMIT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值