MySQL 05章_模糊查询和聚合函数
在之前的查询都需要对查询的关机中进行“精确”、“完整”完整的输入才能查询相应的结果,
但在实际开发过程中,通常需要考虑用户可能不知道“精确”、“完整”的关键字,
那么就需要提供一种不太严格的查询方式,即模糊查询,只需要输入大概的部分内容就能完成查询。 一、模糊查询
1、使用LIKE关键字
语法:SELECT <字段列表|*> FROM 表名 [WHERE 字段名 LIKE %关键字%];
说明:通配符_(表示任意0到1个字符)、%(表示任意的0到多个字符)
举例:SELECT * FROM tb_student
WHERE student_name LIKE '%娘%' OR phone LIKE '%娘%' OR address LIKE '%娘%' OR email LIKE '%娘%';
2、使用BETWEEN END关键字
语法:SELECT <字段列表|*> FROM 表名 [WHERE 字段名 BETWEEN 起始值 AND 终止值];
说明:“起始值”和“终止值”都包含
举例:SELECT * FROM tb_score WHERE student_score >=80 AND student_score <= 90;
SELECT * FROM tb_score WHERE student_score BETWEEN 80 AND 90; 3、使用IN关键字
语法:SELECT <字段列表|*> FROM 表名 [WHERE <字段名 IN (可取值列表)>];
说明:查询的关键字若包含在IN后面的“可取值列表”中,认为是合法的
举例:-- 查询“java”和“HTML”的课程信息
SELECT * FROM tb_subject WHERE subject_name = "java" OR subject_name = "html";
SELECT * FROM tb_subject WHERE subject_name IN("java","html");
4、使用正则表达式 (REGEXP)子句
语法1、:SELECT <字段列表|*> FROM 表名 [WHERE <字段名 REGEXP正则表达式规则 >];
语法2、:SELECT <被匹配的值> REGEXP <正则表达式规则>;
说明:被匹配的值若满足正则表达式规则,表示匹配成功显示1,否则显示0
举例:SELECT * FROM tb_student WHERE email REGEXP '^([a-zA-Z0-9]+)*@([a-zA-Z0-9]+)\.([a-zA-Z]{2,5})$';
-- ^[\u2E80-\u9FFF]+$
SELECT * FROM tb_student WHERE not student_name REGEXP "^([u0391-uFFE5]{2,4})$";
二、聚合函数
1、COUNT():统计满足条件的记录数
2、SUM():计算求和
3、AVG():计算平均值
4、MAX():求最大值
5、MIN():求最小值 SELECT * FROM tb_score LIMIT 10,5;
-- 针对tb_score表,每页最多显示5条记录,请查询第二页
SELECT * FROM tb_score LIMIT 5,5;
SELECT SUM(student_score) FROM tb_score;
SELECT AVG(student_score) FROM tb_score;
SELECT MAX(student_score) FROM tb_score;
SELECT MIN(student_score) FROM tb_score; pageCount = (rowCount%pageSize == 0) ? rwoCount / pageSize : rowCount / pageSize + 1; 三、mysql中常用函数:
1、与字符相关的函数:
SELECT CONCAT(student_no,'----',student_name) FROM tb_student;
SELECT address, LENGTH(address) 长度 FROM tb_student;
SELECT UPPER("afaag");
SELECT LOWER("asdKKJF");
2、与数值相关的函数:
-- ROUND(X,D) 四舍五入
SELECT ROUND(85.65622,2);
-- ROUND(X) 四舍五入,d为0
SELECT ROUND(85.65622);
-- `TRUNCATE`(X,D) 截断函数
SELECT TRUNCATE(85.65622,2);
-- `MOD`(N,M) 取模
SELECT MOD(10,3);
3、与日期相关的函数:
计算日期时间差的函数
TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2);
说明:
unit:指点计算哪种类型的差值
datetime_expr1:减数
datetime_expr2:被减数
MySQL 05章_模糊查询和聚合函数的更多相关文章
- mysql 06章_分组查询和链接查询
一.分组查询 在进行查询时,通常需要按某个或某些字段进行一些统计,因此就需要使用分组查询,但分组后通常需要与聚合函数使用,分组才有意义. 语法:SELECT <字段列表|*> FROM 表 ...
- sql sever模糊查询和聚合函数
使用is null 的时候 要确保 查询的列 可以为空! null: 01.标识 空值 02.不是0,也不是空串"" 03.只能出现在定义 允许为null的字段 04.只 ...
- SQL Server数据库————模糊查询和聚合函数
***********模糊查询*********/ 关键字: like (!!!!字符串类型) in (,,) 匹配()内的某个具体值(括号里可以写多个值) between... and.. 在某两 ...
- MySQL 07章_子查询
子查询就是查询中还可以嵌套其他的查询,通常是内层查询的结果作为外层查询的条件来使用 执行循序,自内向外依次执行 一.内层查询返回“单列单行”的结果 -- 1.查询宋江的出生日期 SELECT TIME ...
- 【软件实施面试】MySQL和Oracle联合查询以及聚合函数面试总结
软件实施面试系列文章第二弹,MySQL和Oracle联合查询以及聚合函数的面试总结.放眼望去全是MySQL,就不能来点Oracle吗?之前面过不少公司,也做过不少笔试题,现在已经很少做笔试题了.你肚子 ...
- MySQL中使用Like模糊查询太慢
问题:明明建立了索引,为何Like模糊查询速度还是特别慢? Like是否使用索引? 1.like %keyword 索引失效,使用全表扫描.但可以通过翻转函数+like前模糊查询+建立翻转函数索 ...
- MYSQL 行转列 以及基本的聚合函数count,与group by 以及distinct组合使用
在统计查询中,经常会用到count函数,这里是基础的 MYSQL 行转列 以及基本的聚合函数count,与group by 以及distinct组合使用 -- 创建表 CREATE TABLE `tb ...
- mysql数据库查询和聚合函数
1.模糊查询 like % 表示多个任意字符 _ 表示任意一个字符 例如:查询黄姓同学 select * from student where name '黄%' select * from stud ...
- 18 12 06 sql 的 基本语句 查询 条件查询 逻辑运算符 模糊查询 范围查询 排序 聚合函数 分组 分页 连接查询 自关联 子查询
-- 数据的准备 -- 创建一个数据库 create database python_test charset=utf8; -- 使用一个数据库 use python_test; -- 显示使用的当前 ...
随机推荐
- Installing GCC 简单方法
Installing GCC This page is intended to offer guidance to avoid some common problems when installing ...
- 2019牛客多校第三场B-Crazy Binary String(前缀和+思维)
Crazy Binary String 题目传送门 解题思路 把1记为1,把0记为-1,然后求前缀和,前缀和相等的就说明中间的01数一样.只要记录前缀和数值出现的位置即可更新出答案. 代码如下 #in ...
- PAT_A1041#Be Unique
Source: PAT A1041 Be Unique (20 分) Description: Being unique is so important to people on Mars that ...
- 剑指offer——51丑数
题目描述 把只包含质因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含质因子7. 习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第N个丑数. / ...
- 网络编程(二)——TCP协议、基于tcp协议的套接字socket
TCP协议与基于tcp协议的套接字socket 一.TCP协议(流式协议) 1.可靠传输,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的 ...
- Java 自动检测文本文件编码
private String guessCharset(InputStream is) throws IOException { return new TikaEncodingDetector().g ...
- hdu6396 /// fread()快速读入挂
题目大意: 给定n k 给定主角具有的k种属性 给定n个怪兽具有的k种属性和打死该怪兽后能得到的k种属性对应增幅 求主角最多能打死多少怪兽和最终主角的k种属性 k最大为5 开5个优先队列贪心 快速读入 ...
- hdu6311 /// 欧拉路径 无向图最小路径覆盖 输出正反路径
题目大意: 给定n m 为图的点数和边数 接下来m行 u v 为u到v有一条边 要求最少几笔能画完图的所有边 输出每笔画过的路径编号 正数编号正向 负数编号反向 题解:https://www.cnbl ...
- Eureka注册中心是什么?
Eureka注册中心是什么? Eureka注册中心是什么? Eureka是Netflix开发的服务发现组件,本身是一个基于REST的服务.Spring Cloud将它集成在其子项目spring-clo ...
- python_django__验证码
验证码:在用户注册/登陆时使用,为了防止暴力请求,减轻服务器压力,也是防止csrf的一种方式. 运行环境:python django 对应template模块htm函数: 登陆页面: <!DOC ...