MySQL学习笔记常用单行和分组函数

Posted !0 !

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL学习笔记常用单行和分组函数相关的知识,希望对你有一定的参考价值。

一、单行函数

  1. 字符函数
  • concat:拼接字符串

select concat(str1,str2,…);

  • substr(substring):截取子串

select substr(str, pos); //截取从pos开始的所有字符,MySQL中下标从1开始;注意如果pos为负数,则是截取最右边的pos个数
select substr(str, pos, len) //截取从pos开始len个字符长度

  • upper:变大写

select upper(str);

  • lower:变小写

select lower(str);

  • replace:替换

select REPLACE(str,from_str,to_str);//将str中from_str字符串全部替换成to_str字符串

  • length:获取字节长度(一个字母占一个字节,一个汉字占三个字节)

select length(str);

  • trim:去前后空格

select trim(str);
select trim(remstr FROM str) //移除str前后的remstr字符串

  • lpad:左填充

select LPAD(str,len,padstr);//用padstr填充len个长度到str的左边

注意:如果len长度小于str的长度那么会截取从右往左的len个长度

  • rpad:右填充

select RPAD(str,len,padstr);//用padstr填充len个长度到str的右边

注意:如果len长度小于str的长度那么会截取从左往右的len个长度

  • instr:获取子串第一次出现的索引

select instr(str,substr); //str为母串,substr为子串

2.数学函数

  • ceil:向上取整

select CEIL(X);

  • floor:向下取整

select FLOOR(X);

  • round:四舍五入

SELECT ROUND(X);
SELECT ROUND(X,D);//对X四舍五入,并且保留小数点后D位有效数字

  • mod:取模

SELECT MOD(N,M);//N对M取余

  • truncate:截断

select TRUNCATE(X,D);//保留小数点后D位

  • rand:获取随机数,返回0-1之间的小数

select RAND();

  1. 日期函数
  • now:返回当前日期+时间

  • year:返回年

  • month:返回月

  • day:返回日

  • date_format:将日期转换成字符

  • curdate:返回当前日期

  • str_to_date:将字符转换成日期

  • curtime:返回当前时间

  • hour:小时

  • minute:分钟

  • second:秒

  • datediff:返回两个日期相差的天数

  • monthname:以英文形式返回月

    序号格式符功能
    1%Y4位的年份
    2%y2位的年份
    3%m月份(01,02…12)
    4%c月份(1,2…12)
    5%d日(01,02…)
    6%H小时(24小时)
    7%h小时(12小时)
    8%i分钟(00,01…)
    9%s秒(00,01…)

二、分组函数

  1. 分类
  • max 最大值
  • min 最小值
  • sum 和
  • avg 平均值
  • count 计算个数
  1. 特点
  • 语法
    select max(字段) from 表名;

  • 支持的类型
    sum和avg一般用于处理数值型
    max、min、count可以处理任何数据类型

  • 以上分组函数都忽略null

  • 都可以搭配distinct使用,实现去重的统计
    select sum(distinct 字段) from 表;

  • count函数

    count(字段):统计该字段非空值的个数

    count(*):统计结果集的行数

    count(1):统计结果集的行数

    效率上:
    MyISAM存储引擎,count(*)最高
    InnoDB存储引擎,count(*)和count(1)效率>count(字段)

  • 和分组函数一同查询的字段,要求是group by后出现的字段

以上是关于MySQL学习笔记常用单行和分组函数的主要内容,如果未能解决你的问题,请参考以下文章

MySQL笔记--- 部分 DQL 语句;条件查询;排序;分组函数;单行处理函数;group by ,having ;

MySql 01(安装,删除,简介,常用命令,简单查询,条件查询,排序,单行处理函数多行处理函数分组查询)

SQL学习笔记 ----Mysql数据库的条件查询

MySQL 学习总结2

单行函数+分组函数总结(MySQL)

MySQL数据库— 汇总和分组数据