DQL语言之常见函数(mysql)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
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(字段)要高一些

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
4月前
|
SQL 关系型数据库 MySQL
菜鸟之路Day30一一MySQL之DML&DQL
本文介绍了MySQL中DML(数据操作语言)和DQL(数据查询语言)的核心用法。DML主要包括插入(insert)、更新(update)和删除(delete)语句,通过具体示例演示了如何对表数据进行增删改操作。DQL则聚焦于数据查询,涵盖基本查询、条件查询、聚合函数、分组查询、排序查询和分页查询等内容。文章通过丰富的SQL语句实例,帮助读者掌握如何高效查询和操作数据库中的数据,适合初学者学习和实践。
132 12
|
3月前
|
SQL 关系型数据库 MySQL
MySQL 常用函数
我们这次全面梳理 MySQL 中的常用函数,涵盖 聚合函数、字符串函数、日期时间函数、数学函数 和 控制流函数 等五大类。每类函数均配有语法说明与实用示例,帮助读者提升数据处理能力,如统计分析、文本处理、日期计算、条件判断等。文章结尾提供了丰富的实战练习,帮助读者巩固和应用函数技巧,是进阶 SQL 编程与数据分析的实用工具手册。
234 2
|
6月前
|
SQL 关系型数据库 MySQL
【YashanDB知识库】MySQL field 函数的改写方法
【YashanDB知识库】MySQL field 函数的改写方法
|
6月前
|
SQL 关系型数据库 MySQL
【YashanDB知识库】MySQL field 函数的改写方法
本文来自YashanDB官网,介绍将MySQL的FIELD函数改写到YashanDB的方法。MySQL中,FIELD函数用于自定义排序;而在YashanDB中,可使用DECODE或CASE语句实现类似功能。示例展示对表`t1`按指定顺序排序的过程,提供两种改写方式,结果均符合预期。
|
8月前
|
SQL 关系型数据库 MySQL
Mysql-常用函数及其用法总结
以上列举了MySQL中一些常用的函数及其用法。这些函数在日常的数据库操作中非常实用,能够简化数据查询和处理过程,提高开发效率。掌握这些函数的使用方法,可以更高效地处理和分析数据。
224 19
|
9月前
|
SQL 关系型数据库 MySQL
【MySQL基础篇】盘点MySQL常用四大类函数
本文介绍了MySQL中的四大类常用函数:字符串函数、数值函数、日期函数和流程函数。
【MySQL基础篇】盘点MySQL常用四大类函数
|
9月前
|
SQL 关系型数据库 MySQL
MySQL常见函数第二期,你都用过哪些呢 ?
本期介绍了20个常用的MySQL函数,涵盖日期处理(如CURDATE()、DATE_FORMAT())、数学运算(如ABS()、ROUND())、统计分析(如COUNT()、SUM())等,帮助提高SQL查询效率和数据处理能力。希望对大家的学习有所帮助。
186 7
|
9月前
|
数据采集 关系型数据库 MySQL
MySQL常用函数:IF、SUM等用法
本文介绍了MySQL中常用的IF、SUM等函数及其用法,通过具体示例展示了如何利用这些函数进行条件判断、数值计算以及复杂查询。同时,文章还提到了CASE WHEN语句和其他常用函数,如COUNT、AVG、MAX/MIN等,强调了它们在数据统计分析、数据清洗和报表生成中的重要性。
|
9月前
|
关系型数据库 MySQL
MySQL常见函数第一期,你都用过哪些呢 ?
本期介绍10个常用的MySQL函数:字符串连接(CONCAT)、提取子字符串(SUBSTRING)、获取字符串长度(LENGTH)、转换大小写(UPPER、LOWER)、去除空格(TRIM)、替换字符串(REPLACE)、查找子字符串位置(INSTR)、带分隔符的字符串连接(CONCAT_WS)以及获取当前日期时间(NOW)。
163 8
|
9月前
|
关系型数据库 MySQL 数据处理
【MySQL】函数
MySQL 提供了丰富的函数集,涵盖字符串处理、数值运算、日期时间操作和聚合计算等多个方面。这些函数在日常数据库操作中极为重要,通过合理使用这些函数,可以大大提高数据处理和查询的效率。用户还可以通过自定义函数,扩展 MySQL 的功能以满足特定需求。
205 3

推荐镜像

更多