DQL语言之常见函数(mysql)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: DQL语言之常见函数(mysql)
概念:将一组逻辑语句封装在方法体中,对外暴露方法名
好处:1、隐藏了实现细节 2、提高了代码的重用性
调用: select 函数名(实参列表) 【from 表】;
特点:
  a)叫什么(函数名)
  b)干什么(函数功能)
分类:
  a)单行函数
  eg: concat、length、ifnull等
  
    字符函数:
      length、
      concat、
      trim、
      substr、
      instr、
      upper、
      lower、
      lpad、
      rpad、
      replace
    数学函数:
      round、
      ceil、
      floor、
      truncate、
      mod
    日期函数:
      now、
      curdate、
      curtime、
      year、
      month、
      monthtime、
      day、
      hour、
      minute、
      second、
      str_to_date
      date_format
      datediff
    其他函数:
      version、
      database、
      user
    控制函数:
      if、
      case  
  
  b)分组函数
  
  功能: 做统计使用,又称为统计函数、聚合函数、组函数
#1、字符函数
#a) length 获取参数值的字节个数 
SELECT LENGTH('john');
SELECT LENGTH('张三丰hahaha');  
##utf8下 一个汉字占3个字节
#b) concat 拼接字符串
SELECT CONCAT(credit,'_',teacher) FROM course;
#c) upper lower
SELECT LOWER('John');
#d) substr 、 substring
##注意:索引从1开始
##截取从指定索引处后面所有字符
SELECT SUBSTR('love',2) 结果;
##截取从指定索引处指定字符长度的字符(第二个参数指定截取长度)
SELECT SUBSTR('love',2,1);
#e) instr
#返回子串第一次出现的索引,如果找不到返回0
SELECT INSTR('loove','o');
#f) trim
SELECT LENGTH(TRIM('   hahaha  '));
SELECT TRIM('a' FROM 'hahaha ');
SELECT TRIM('a' FROM 'hahaha');
#g) lpad 用指定的字符实现左填充的指定长度
SELECT LPAD('love',10,'*');
#h) rpad 用指定的字符实现右填充的指定长度
SELECT RPAD('love',10,'you');
SELECT RPAD('love',2,'you');
#i) replace 替换
SELECT REPLACE('lovl','l','h');
#2)数学函数
#a) round 四舍五入
SELECT ROUND(-1.65);
 
SELECT ROUND(1.567,2);
#b) ceil 向上取整,返回>=该参数的最小整数
SELECT CEIL(-1.2);
#c) floor 向下取整,返回<=该参数的最大整数
SELECT FLOOR(-1.23);
#d) truncate 截断
SELECT TRUNCATE(1.65,1);
#e) mod 取余
#mod(a,b) : a-a/b*b;
#注意:结果为正还是为负,只与第一个参数有关
SELECT MOD(10,-3);
#3)日期函数
#a) now 返回当前系统日期+时间
SELECT NOW();
#b) curdate 返回当前系统日期,不包含时间
SELECT CURDATE();
#c) curtime 返回当前时间,不包含日期
SELECT CURTIME();
#d) 可以获取指定的部分,年、月、日、小时、分钟、秒
SELECT YEAR(NOW());
SELECT YEAR('1999-12-16');
SELECT MONTH(NOW());
SELECT MONTHNAME(NOW());  #月份英文表示
#e) str_to_date: 将日期格式的字符转换成指定格式的日期
SELECT STR_TO_DATE('1-19 2020','%m-%d %Y');
#f) date_format:将日期转换成字符
SELECT DATE_FORMAT('1998-2-5','%Y年%m月%d日');
#g) datediff 计算两个日期相差的天数
SELECT DATEDIFF(NOW(),'2000-12-16');
#4、其他函数
SELECT VERSION();
SELECT DATABASE();
SELECT USER();
#5、流程控制函数
#a) if函数 : if else 的效果
SELECT IF(10<5,'大','小');
#b) case 函数的使用一: switch case的效果
  case 要判断的字段或表达式
  when 常量1 then 要显示的语句1; (如果是语句的话后面要加分号)
  when 常量2 then 要显示的值2
  ...
  else 要显示的值n或语句n
  end
#c) case 函数的使用二: 类似于多重if
  case
  when 条件1 then 要显示的值1或语句1;
  when 条件2 then 要显示的值2或语句2;
  ...
  else 要显示的值n或语句n;
  end
#二、分组函数
分类:
sum 求和、avg 平均值、max 最大值、min 最小值、count 计算个数
特点:
  1、sum、avg 一般用于处理数值型
     max、min、count 可以处理任何类型
  2、以上分组函数都忽略null值
  3、可以和 distinct  搭配实现去重的运算
  4、count 函数的单独介绍
    一般使用count(*)用作统计行数
  5、和分组函数一同查询的字段有限制:要求是 group by 后的字段
#和 distinct 搭配
SELECT SUM(DISTINCT credit),SUM(credit) FROM course;
SELECT COUNT(DISTINCT credit),COUNT(credit) FROM course;
# count 函数的详细介绍
##统计行数
SELECT COUNT(*) FROM course; 
SELECT COUNT(1) FROM course;
效率:
MYISAM 存储引擎下, COUNT(*) 的效率高
INNODB 存储引擎下, COUNT(1)和 COUNT(*)的效率差不多,比 COUNT(字段)要高一些

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2天前
|
SQL 关系型数据库 MySQL
【MySQL基础篇】盘点MySQL常用四大类函数
本文介绍了MySQL中的四大类常用函数:字符串函数、数值函数、日期函数和流程函数。
【MySQL基础篇】盘点MySQL常用四大类函数
|
18天前
|
SQL 关系型数据库 MySQL
MySQL常见函数第二期,你都用过哪些呢 ?
本期介绍了20个常用的MySQL函数,涵盖日期处理(如CURDATE()、DATE_FORMAT())、数学运算(如ABS()、ROUND())、统计分析(如COUNT()、SUM())等,帮助提高SQL查询效率和数据处理能力。希望对大家的学习有所帮助。
59 7
|
20天前
|
关系型数据库 MySQL
MySQL常见函数第一期,你都用过哪些呢 ?
本期介绍10个常用的MySQL函数:字符串连接(CONCAT)、提取子字符串(SUBSTRING)、获取字符串长度(LENGTH)、转换大小写(UPPER、LOWER)、去除空格(TRIM)、替换字符串(REPLACE)、查找子字符串位置(INSTR)、带分隔符的字符串连接(CONCAT_WS)以及获取当前日期时间(NOW)。
56 8
|
21天前
|
数据采集 关系型数据库 MySQL
MySQL常用函数:IF、SUM等用法
本文介绍了MySQL中常用的IF、SUM等函数及其用法,通过具体示例展示了如何利用这些函数进行条件判断、数值计算以及复杂查询。同时,文章还提到了CASE WHEN语句和其他常用函数,如COUNT、AVG、MAX/MIN等,强调了它们在数据统计分析、数据清洗和报表生成中的重要性。
|
25天前
|
关系型数据库 MySQL 数据处理
【MySQL】函数
MySQL 提供了丰富的函数集,涵盖字符串处理、数值运算、日期时间操作和聚合计算等多个方面。这些函数在日常数据库操作中极为重要,通过合理使用这些函数,可以大大提高数据处理和查询的效率。用户还可以通过自定义函数,扩展 MySQL 的功能以满足特定需求。
28 3
|
27天前
|
关系型数据库 MySQL 数据处理
MySQL函数与约束
MySQL 提供了丰富的函数和强大的约束机制,用于数据处理和完整性维护。通过掌握这些工具,可以有效地管理和分析数据库中的数据,确保数据的一致性和准确性。无论是在日常数据查询中使用内置函数,还是在数据库设计中应用各种约束,都是确保数据库系统稳定、高效运行的关键。希望本文对您理解和应用 MySQL 函数与约束有所帮助。
31 1
|
1月前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
62 4
|
1月前
|
关系型数据库 MySQL Serverless
MySQL函数
最常用的MySQL函数,包括聚合函数,字符串函数,日期时间函数,控制流函数等
37 1
|
1月前
|
SQL NoSQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(5)作者——LJS[含MySQL DQL基本查询:select;简单、排序、分组、聚合、分组、分页等详解步骤及常见报错问题所对应的解决方法]
MySQL DQL基本查询:select;简单、排序、分组、聚合、分组、分页、INSERT INTO SELECT / FROM查询结合精例等详解步骤及常见报错问题所对应的解决方法
|
1月前
|
SQL NoSQL 关系型数据库