zoukankan      html  css  js  c++  java
  • 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})$";
    二、聚合函数
          1COUNT():统计满足条件的记录数
          2SUM():计算求和
          3AVG():计算平均值
          4MAX():求最大值
          5MIN():求最小值
          
          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:被减数
          
  • 相关阅读:
    初拾Java(问题一:404错误,页面找不到)
    新年新气象--总结过去,展望未来
    接口测试[整理]
    [转]SVN-版本控制软件
    浅谈黑盒测试和白盒测试
    Bug管理工具的使用介绍(Bugger 2016)
    P2805/BZOJ1565 [NOI2009]植物大战僵尸
    近期学习目标
    P3643/BZOJ4584 [APIO2016]划艇
    P5344 【XR-1】逛森林
  • 原文地址:https://www.cnblogs.com/zhangzimuzjq/p/11669716.html
Copyright © 2011-2022 走看看