mysql属于dql语句的是_mysql学习日记——DQL语句
# # 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语句相关推荐
- mysql 查询语句属性值_MySQL学习——SQL查询语句(一)
查询数据是指从数据库中获取所需要的数据,查询数据是数据库操作中最常用也是最重要的操作,用户可以根据对数据的需求,使用不同的查询方式,通过不同的查询方式可以获得不同的数据,在MySQL中使用select ...
- mysql select语句详解_mysql学习笔记之完整的select语句用法实例详解
本文实例讲述了mysql学习笔记之完整的select语句用法.分享给大家供大家参考,具体如下: 本文内容: 完整语法 去重选项 字段别名 数据源 where group by having order ...
- mysql属于dcl语句的是_MySQL基础:DCL语句
sql语言大致分为DCL.DDL.DML三种,本文主要介绍DCL语句. 概述 DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句.这些 ...
- mysql像plsql一样删除提交_MySQL学习-MySQL内置功能_事务操作
1.事务详解 1.1 事务的概念 MySQL 事务主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等 ...
- mysql属于dcl语句的是_MySQL基础:DCL语句总结
SQL语言大致分为DCL.DDL.DML三种,本文主要介绍MySQL 5.7版本DCL语句. 概述 DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可 ...
- python表示语句块采用_Python学习日记
江林楠学习了一下午后给大家呈现的20分钟速成Python-- 一些基本的语法: 1.python无变量声明 直接a = []即可. 2.python为对齐语言,用制表符表示语句块的嵌套. 3.pyth ...
- MySql DDL日志_mysql学习日记——数据库基础与基本DDL、DML语句
# # # 数据库的基本概念 数据库: DataBase (DB).用于存储和管理数据的仓库. 数据库的特点: 1. 持久化存储数据的.其实数据库就是一个文件系统 2. 方便存储和管理数据 3. 使用 ...
- mysql数据库管理系统的配置文件是_MySQL学习笔记_1_MySQL数据库管理系统概述
1. MySQL架构 C/S: client / server架构 MySQL DBMS(Data Bank Management System): 数据库管理系统 客户端 服务器 ---> ...
- mysql新增表字段回滚_MySql学习笔记四
MySql学习笔记四 5.3.数据类型 数值型 整型 小数 定点数 浮点数 字符型 较短的文本:char, varchar 较长的文本:text, blob(较长的二进制数据) 日期型 原则:所选择类 ...
最新文章
- Linux服务器防火墙白名单设置
- python各种推导式详解
- Python3实现从txt文件中读取指定行的方法
- python无缘无故不执行/跳过某个函数,无报错无警告
- 蔚来明年推出Gemini 该系列保持高端定位?
- 培养创造性思维20个技巧
- 右手螺旋判断磁感应强度方向_弹簧左旋or右旋在功能和应用上有什么区别,如何判断左旋还是右旋...
- Atitit 微服务的优点和拆分 目录 1. 微服务架构五大优势 崛起势头不可挡	4	1 1.1. 1、复杂度可控	6避免“盲人摸象” 7	2 1.2. 2、灵活可扩展	7	2 1.3. 3、独立部
- 基于Modbus TCP的MCGS上位机软件教程
- ubuntu安装nvidia显卡驱动
- leetcode296. 最佳的碰头地点
- 一位程序媛MM眼中的程序员???
- uniapp实现设备对接wifi功能
- centos7 如何取消自动锁屏
- HA 高可用软件系统保养指南
- Throttling - Django REST framework
- Boston Dog
- Wolfram Alpha 算微积分指令集合
- Android中TextView超细字体 ,各种尝试
- 万年历java课程设计报告_java《万年历系统》课程设计报告附源码.doc
热门文章
- 维度建模和ER模型的对比
- 3.STM32F429时钟系统配置方法
- 运维杂谈 | IT运维工程师的真实现状
- 共享自行车租赁管理系统单车-JAVA.JSP【数据库设计、论文、源码、开题报告】
- WorkNC轻松几步导入刀柄轮廓
- 本题要求编写函数,将输入字符串的前3个字符移到最后
- windows 不小心删除了FlexNet Licensing Service 64 恢复方法
- Latex常用数学符号汇总
- 百度百科、搜狗百科、360百科、头条百科词条如何又好又快创建?五大杀手锏助力百科词条创建
- Power BI 中 函数 PERCENTILE.EXC 和 PERCENTILX.EXC 用法区别