# # DQL:查询语句

select字段列表from表名列表where条件列表group by分组字段having分组之后的条件order by排序

limit

分页限定

基础查询:

1. 多个字段的查询

select 字段名1,字段名2... from 表名;

* 注意:如果查询所有字段,则可以使用*来替代字段列表。

select * from 表名;

2. 去除重复:* distinct

3. 计算列:

* 一般可以使用四则运算计算一些列的值。(一般只会进行数值型的计算)

* ifnull(表达式1,表达式2):null参与的运算,计算结果都为null

* 表达式1:哪个字段需要判断是否为null

* 如果该字段为null后的替换值。

4. 起别名:* as:as也可以省略

条件查询:

1. where子句后跟条件

2. 运算符

> 、< 、<= 、>= 、= 、<>

BETWEEN...AND

IN( 集合)

LIKE:模糊查询

占位符:

_:单个任意字符

%:多个任意字符

IS NULL

and 或 &&

or 或 ||

not 或 !

举例:

-- 查询年龄大于20岁:

SELECT * FROM student WHERE age > 20;

-- 查询年龄等于20岁:

SELECT * FROM student WHERE age = 20;

-- 查询年龄不等于20岁:

SELECT * FROM student WHERE age != 20;SELECT * FROM student WHERE age <> 20;

-- 查询年龄大于等于20 小于等于30:

SELECT * FROM student WHERE age >= 20 && age <=30;SELECT * FROM student WHERE age >= 20 AND age <=30;SELECT * FROM student WHERE age BETWEEN 20 AND 30;

-- 查询年龄22岁,18岁,25岁的信息:

SELECT * FROM student WHERE age = 22 OR age = 18 OR age = 25;SELECT * FROM student WHERE age IN (22,18,25);

-- 查询英语成绩为null:

SELECT * FROM student WHERE english IS NULL;

-- 查询英语成绩不为null:

SELECT * FROM student WHERE english IS NOT NULL;

-- 查询姓马的有哪些:

SELECT * FROM student WHERE NAME LIKE '马%';

-- 查询姓名第二个字是化的人:

SELECT * FROM student WHERE NAME LIKE "_化%";

-- 查询姓名是3个字的人:

SELECT * FROM student WHERE NAME LIKE '___';

-- 查询姓名中包含德的人:

SELECT * FROM student WHERE NAME LIKE '%德%';

排序查询:

语法:order by 子句

order by 排序字段1 排序方式1 , 排序字段2 排序方式2...

排序方式:

* ASC:升序,默认的。

* DESC:降序。

* 注意:如果有多个排序条件,则当前边的条件值一样时,才会判断第二条件。

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

1. count:计算个数

1. 一般选择非空的列:主键

2. count(*)

2. max:计算最大值

3. min:计算最小值

4. sum:计算和

5. avg:计算平均值

* 注意:聚合函数的计算,排除null值。

解决方案:

1. 选择不包含非空的列进行计算

2. IFNULL函数

分组查询:

1. 语法:group by 分组字段;

2. 注意:

1. 分组之后查询的字段:分组字段、聚合函数

2. where 和 having 的区别?

1. where 在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来

2. where 后不可以跟聚合函数,having可以进行聚合函数的判断。

-- 按照性别分组。分别查询男、女同学的平均分:

SELECT sex , AVG(math) FROM student GROUP BY sex;

-- 按照性别分组。分别查询男、女同学的平均分,人数:

SELECT sex , AVG(math),COUNT(id) FROM student GROUP BY sex;

-- 按照性别分组。分别查询男、女同学的平均分,人数 要求:分数低于70分的人,不参与分组:

SELECT sex , AVG(math),COUNT(id) FROM student WHERE math > 70 GROUP BY sex;

-- 按照性别分组。分别查询男、女同学的平均分,人数 要求:分数低于70分的人,不参与分组,分组之后。人数要大于2个人:

SELECT sex , AVG(math),COUNT(id) FROM student WHERE math > 70 GROUP BY sex HAVING COUNT(id) > 2;SELECT sex , AVG(math),COUNT(id) 人数 FROM student WHERE math > 70 GROUP BY sex HAVING 人数 > 2;

分页查询:

1. 语法:limit 开始的索引,每页查询的条数;

2. 公式:开始的索引 = (当前的页码 - 1) * 每页显示的条数

-- 每页显示3条记录

SELECT * FROM student LIMIT 0,3; --第1页

SELECT * FROM student LIMIT 3,3; --第2页

SELECT * FROM student LIMIT 6,3; --第3页

3. limit 是一个MySQL"方言"

mysql属于dql语句的是_mysql学习日记——DQL语句相关推荐

  1. mysql 查询语句属性值_MySQL学习——SQL查询语句(一)

    查询数据是指从数据库中获取所需要的数据,查询数据是数据库操作中最常用也是最重要的操作,用户可以根据对数据的需求,使用不同的查询方式,通过不同的查询方式可以获得不同的数据,在MySQL中使用select ...

  2. mysql select语句详解_mysql学习笔记之完整的select语句用法实例详解

    本文实例讲述了mysql学习笔记之完整的select语句用法.分享给大家供大家参考,具体如下: 本文内容: 完整语法 去重选项 字段别名 数据源 where group by having order ...

  3. mysql属于dcl语句的是_MySQL基础:DCL语句

    sql语言大致分为DCL.DDL.DML三种,本文主要介绍DCL语句. 概述 DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句.这些 ...

  4. mysql像plsql一样删除提交_MySQL学习-MySQL内置功能_事务操作

    1.事务详解 1.1 事务的概念 MySQL 事务主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等 ...

  5. mysql属于dcl语句的是_MySQL基础:DCL语句总结

    SQL语言大致分为DCL.DDL.DML三种,本文主要介绍MySQL 5.7版本DCL语句. 概述 DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可 ...

  6. python表示语句块采用_Python学习日记

    江林楠学习了一下午后给大家呈现的20分钟速成Python-- 一些基本的语法: 1.python无变量声明 直接a = []即可. 2.python为对齐语言,用制表符表示语句块的嵌套. 3.pyth ...

  7. MySql DDL日志_mysql学习日记——数据库基础与基本DDL、DML语句

    # # # 数据库的基本概念 数据库: DataBase (DB).用于存储和管理数据的仓库. 数据库的特点: 1. 持久化存储数据的.其实数据库就是一个文件系统 2. 方便存储和管理数据 3. 使用 ...

  8. mysql数据库管理系统的配置文件是_MySQL学习笔记_1_MySQL数据库管理系统概述

    1. MySQL架构 C/S: client / server架构 MySQL DBMS(Data Bank Management System): 数据库管理系统 客户端  服务器 --->  ...

  9. mysql新增表字段回滚_MySql学习笔记四

    MySql学习笔记四 5.3.数据类型 数值型 整型 小数 定点数 浮点数 字符型 较短的文本:char, varchar 较长的文本:text, blob(较长的二进制数据) 日期型 原则:所选择类 ...

最新文章

  1. Linux服务器防火墙白名单设置
  2. python各种推导式详解
  3. Python3实现从txt文件中读取指定行的方法
  4. python无缘无故不执行/跳过某个函数,无报错无警告
  5. 蔚来明年推出Gemini 该系列保持高端定位?
  6. 培养创造性思维20个技巧
  7. 右手螺旋判断磁感应强度方向_弹簧左旋or右旋在功能和应用上有什么区别,如何判断左旋还是右旋...
  8. Atitit 微服务的优点和拆分 目录 1. 微服务架构五大优势 崛起势头不可挡 4 1 1.1. 1、复杂度可控 6避免“盲人摸象” 7 2 1.2. 2、灵活可扩展 7 2 1.3. 3、独立部
  9. 基于Modbus TCP的MCGS上位机软件教程
  10. ubuntu安装nvidia显卡驱动
  11. leetcode296. 最佳的碰头地点
  12. 一位程序媛MM眼中的程序员???
  13. uniapp实现设备对接wifi功能
  14. centos7 如何取消自动锁屏
  15. HA 高可用软件系统保养指南
  16. Throttling - Django REST framework
  17. Boston Dog
  18. Wolfram Alpha 算微积分指令集合
  19. Android中TextView超细字体 ,各种尝试
  20. 万年历java课程设计报告_java《万年历系统》课程设计报告附源码.doc

热门文章

  1. 维度建模和ER模型的对比
  2. 3.STM32F429时钟系统配置方法
  3. 运维杂谈 | IT运维工程师的真实现状
  4. 共享自行车租赁管理系统单车-JAVA.JSP【数据库设计、论文、源码、开题报告】
  5. WorkNC轻松几步导入刀柄轮廓
  6. 本题要求编写函数,将输入字符串的前3个字符移到最后
  7. windows 不小心删除了FlexNet Licensing Service 64 恢复方法
  8. Latex常用数学符号汇总
  9. 百度百科、搜狗百科、360百科、头条百科词条如何又好又快创建?五大杀手锏助力百科词条创建
  10. Power BI 中 函数 PERCENTILE.EXC 和 PERCENTILX.EXC 用法区别