MySQL中常用函数的日常总结

本文涉及的产品
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: MySQL中常用函数的日常总结

前言


  很多朋友都学习过数据库相关的操作,SQL作为访问和处理数据库的标准计算机语言,也有很多的函数方便我们调用。近期针对SQL中的函数进行了一次总结,特分享给大家。


SQL函数


  SQL函数主要分为两大类,一类是基于计算的函数Aggregate函数,另一类是基于数据处理的Scalar函数。

  其中基于计算的Aggregate函数主要是针对数据库中值得计算主要包含:平均值函数、最大值最小值函数、计算总和、计算总行数等一类函数。基于Scalar函数的函数主要是针对数据进行处理,例如:转大写、转小写、数据长度、格式化数据、字符串截取等相关函数。下面根据实际例子进行介绍。

  本次将基于下表中信息进行函数的演示。


CREATE TABLE `goods` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `goods_name` varchar(255) DEFAULT NULL COMMENT '商品名称',
  `price` decimal(10,2) DEFAULT NULL COMMENT '单价',
  `discount` decimal(10,2) DEFAULT NULL COMMENT '优惠',
  `freight` decimal(10,2) DEFAULT NULL COMMENT '运费',
  `goods_num` int(11) DEFAULT NULL COMMENT '商品数量',
  `class_type` varchar(100) DEFAULT NULL COMMENT '商品类型 文体用品 服饰',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COMMENT='商品信息表';


测试数据截图如下:


image.png


Aggregate函数


MAX()


MAX() 函数的作用MAX()函数返回满足条件的列中的最大值,其中null是不参与计算的。

MAX() 函数的语法SELECT MAX(列名称) FROM 表名 WHERE 查询条件;

MAX() 函数的示例查询商品表中分类为“文体用品”的最高价格是多少。查询SQL如下:


SELECT MAX(price) FROM goods WHERE class_type="文体用品";


MAX() 函数的执行结果查询商品表中分类为“文体用品”的最高价格是10元钱。


image.png


MIN()


MIN()函数的作用MIN()函数返回满足条件的列中的最小值,其中null是不参与计算的。

MIN()函数的语法SELECT MIN(列名称) FROM 表名 WHERE 查询条件;

MIN()函数的示例查询商品表中分类为“服饰”的最低价格是多少。查询SQL如下:

SELECT MIN(price) FROM goods WHERE class_type="服饰";


MIN()函数的执行结果查询商品表中分类为“服饰”的最低价格是30元。


image.png


SUM()


SUM()函数的作用SUM()函数主要作用是计算指定列的总和。

SUM()函数的语法SELECT SUM(列名称) FROM 表名 WHERE 查询条件;

SUM()函数的示例计算商品表中所有商品的单价总和是多少; 计算商品表中分类为“文体用品”的商品总价值。SQL如下:

-- 计算商品表中所有商品的单价总和是
SELECT SUM(price) FROM goods;
-- 计算商品表中分类为“文体用品”的商品总价值
SELECT SUM(price*goods_num) FROM goods WHERE class_type="文体用品";


SUM()函数的执行结果计算商品表中所有商品的单价总和是323元


image.png


计算商品表中分类为“文体用品”的商品总价值225.00元。


image.png


AVG()


AVG()函数的作用AVG()函数的作用是返回满足条件的指定列的平均值。

AVG()函数的语法SELECT AVG(列名称) FROM 表名 WHERE 查询条件;

AVG()函数的示例查询商品表中类目为“文体用品”的商品售价平均值。

SELECT AVG(price) FROM goods WHERE class_type="文体用品";


AVG()函数的执行结果查询商品表中类目为“文体用品”的商品售价平均值为4.5元。


image.png


COUNT()


COUNT()函数的作用COUNT()函数是查询满足条件的总行数。

COUNT()函数的语法SELECT COUNT(*) FROM 表名 WHERE 查询条件;

COUNT()函数的示例查询商品表中所有在销售的商品种类数量。


SELECT COUNT(*) FROM goods;


COUNT()函数的执行结果查询商品表中所有在销售的商品种类数量是8件。


image.png


FIRST()


FIRST()函数的作用FIRST() 函数返回指定的字段中第一个记录的值。

FIRST()函数的语法SELECT FIRST(*) FROM 表名 WHERE 查询条件 ORDER BY 列名;

FIRST()函数的示例


SELECT FIRST(price) FROM goods WHERE class_type="服饰" ORDER BY id DESC;


LAST()


LAST()函数的作用LAST() 函数返回指定的字段中最后一个记录的值。

LAST()函数的语法SELECT LAST(*) FROM 表名 WHERE 查询条件 ORDER BY 列名;

LAST()函数的示例


SELECT LAST(price) FROM goods WHERE class_type="服饰" ORDER BY id DESC;


Scalar 函数


UCASE()


UCASE()函数的作用UCASE()函数作用是将满足条件的指定列的值转为大写。

UCASE()函数的语法SELECT UCASE(列名) FROM 表名 WHERE 条件;

UCASE()函数的示例将商品表中类目为“文体用品”的商品名称转为大写


SELECT UCASE(goods_name) FROM goods WHERE class_type="文体用品";


UCASE()函数的执行结果将商品表中类目为“文体用品”的商品名称转为大写执行结果

如下:


image.png


LCASE()


LCASE()函数的作用LCASE()函数作用是将满足条件的指定列的值转为小写。

LCASE()函数的语法SELECT LCASE(列名) FROM 表名 WHERE 条件;

LCASE()函数的示例将商品表中类目为“文体用品”的商品名称转为小写


SELECT LCASE(goods_name) FROM goods WHERE class_type="文体用品";


LCASE()函数的执行结果将商品表中类目为“文体用品”的商品名称转为小写,执行结果如下:


image.png


LENGTH()


LENGTH()函数的作用LENGTH()函数作用是输出满足条件的指定列的值的长度大小。需要注意的是有的数据库使用的函数是LEN()。

LENGTH()函数的语法SELECT LENGTH(列名) FROM 表名 WHERE 条件;

LENGTH()函数的示例将商品表中类目为“文体用品”的商品名称和商品名称值得长度查询出。


SELECT goods_name,LENGTH(goods_name) FROM goods WHERE class_type="文体用品";


LENGTH()函数的执行结果将商品表中类目为“文体用品”的商品名称和商品名称值得长度查询结果如下:


image.png


ROUND()


ROUND()函数的作用ROUND()的主要作用是对满足条件的某个数值字段进行指定小数位数的四舍五入

ROUND()函数的语法SELECT ROUND(列名,小数位数) FROM 表名 WHERE 条件;

ROUND()函数的示例将商品表中类目为“服饰”的商品名称和价格查询出来,并将价格保留三位小数。


SELECT goods_name,ROUND(price,3) FROM goods WHERE class_type="服饰";


ROUND()函数的执行结果将商品表中类目为“服饰”的商品名称和价格查询出来,并将价格保留三位小数。执行结果如下:


image.png


FORMAT()


FORMAT()函数的作用FORMAT()函数主要作用是对满足条件的指定列进行格式化显示。

FORMAT()函数的语法SELECT FORMAT(列名,格式) FROM 表名 WHERE 条件;

FORMAT()函数的示例使用DATE_FORMAT对商品表中的创建时间格式化显示为年-月-日的形式。


SELECT goods_name,price,DATE_FORMAT(create_time,'%Y-%c-%d') FROM goods


FORMAT()函数的执行结果使用DATE_FORMAT对商品表中的创建时间格式化显示为年-月-日的形式。结果如下:


image.png


NOW()


NOW()函数的作用NOW()函数的作用是返回当前系统的时间

NOW()函数的语法SELECT NOW();

NOW()函数的示例获取当时数据库的时间。


SELECT NOW();


NOW()函数的执行结果


image.png

SUBSTR()


SUBSTR()函数的作用SUBSTR()函数是将满足添加的指定列的数据按一定规则截取显示,部分数据库使用的是MID() 函数。

SUBSTR()函数的语法SELECT SUBSTR(列名,起始位置默认为1,返回的字符数可以为空) FROM 表名 WHERE 条件;

SUBSTR()函数的示例将商品表中类目为“文体用品”的商品名保留前两个字符输出显示。


SELECT goods_name,SUBSTR(goods_name,1,2) FROM goods WHERE class_type="文体用品";


SUBSTR()函数的执行结果将商品表中类目为“文体用品”的商品名保留前两个字符输出显示结果如下:


image.png


结语


  好了,以上就是MySQL中常用函数的日常总结


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
存储 SQL 关系型数据库
MySQL 存储函数及调用
本文主要介绍了MySQL存储函数及调用的方法,介绍了存储函数的示例,如何在MySQL中创建存储函数,以及介绍了MySQL中如何创建触发器,一目了然。在MySQL中,存储函数是预定义的SQL逻辑单元,可接收参数并返回单个值。创建存储函数使用`CREATE FUNCTION`语句,如示例中的`square_number`函数,它接收一个整数并返回其平方。调用存储函数就像调用普通函数一样,例如在`SELECT`语句中。存储函数可用于简化复杂逻辑,提高效率。此外,还可以通过`DROP FUNCTION`删除不再需要的函数。示例展示了不同场景下的存储函数应用,包括数字运算、字符串处理和逻辑判断。
90 2
|
1月前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(2)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
1月前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(1)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
12天前
|
JSON 关系型数据库 MySQL
✅MySQL用了函数到底会不会导致索引失效
MySQL 8.0 引入了函数索引,打破了传统观念,允许在索引中使用函数,提升查询性能。通过创建基于表达式的索引,如 `CONCAT`、`SUBSTRING_INDEX`、`YEAR`、`MONTH` 等,可以优化涉及这些函数的查询。虽然提高了某些查询速度,但也会增加数据维护成本。应谨慎使用,确保表达式确定且适用于常见查询模式。示例包括基于字符串、日期、数学运算和JSON属性的索引。
✅MySQL用了函数到底会不会导致索引失效
|
3天前
|
关系型数据库 MySQL
mysql使用 CONCAT(字段,字段) 函数拼接
mysql使用 CONCAT(字段,字段) 函数拼接
|
19天前
|
JSON 关系型数据库 MySQL
MySQL常用函数解读:从基础到进阶的全方位指南
MySQL常用函数解读:从基础到进阶的全方位指南
|
26天前
|
关系型数据库 MySQL 开发者
Mysql COUNT() 函数详解
【6月更文挑战第19天】Mysql COUNT() 函数详解,包括 COUNT() 的用法及 COUNT() 带条件查询的操作
|
27天前
|
SQL 关系型数据库 MySQL
MySQL数据库基础第二篇(函数)
MySQL数据库基础第二篇(函数)
|
27天前
|
关系型数据库 MySQL
【随手记】MySQL中ROW_NUMBER()、RANK()和DENSE_RANK()函数的用法
【随手记】MySQL中ROW_NUMBER()、RANK()和DENSE_RANK()函数的用法
23 1
|
28天前
|
关系型数据库 MySQL 数据挖掘