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
目录
相关文章
|
2月前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(2)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
12天前
|
SQL 关系型数据库 MySQL
在 MySQL 中使用 `RIGHT` 函数
【8月更文挑战第8天】
65 7
在 MySQL 中使用 `RIGHT` 函数
|
12天前
|
SQL 关系型数据库 MySQL
在 MySQL 中使用 `REPLACE` 函数
【8月更文挑战第8天】
131 7
在 MySQL 中使用 `REPLACE` 函数
|
12天前
|
存储 SQL 关系型数据库
在 MySQL 中使用 `RTRIM` 函数
【8月更文挑战第8天】
48 8
在 MySQL 中使用 `RTRIM` 函数
|
14天前
|
缓存 关系型数据库 MySQL
在 MySQL 中使用 SPACE 函数
【8月更文挑战第5天】
53 3
在 MySQL 中使用 SPACE 函数
|
1月前
|
存储 JSON 关系型数据库
mysql中find_in_set()函数用法详解及增强函数
总结而言,`FIND_IN_SET()`是MySQL中处理由逗号分隔的字符串列表的一种便捷方法,尤其适用于列表相对较短且不经常更改的场景。然而,对于更为复杂的需要高性能和可扩展性的数据库设计,它可能不是最优选择,应考虑使用更加正规化的数据库结构。
55 2
mysql中find_in_set()函数用法详解及增强函数
|
1月前
|
关系型数据库 MySQL
mysql使用 CONCAT(字段,字段) 函数拼接
mysql使用 CONCAT(字段,字段) 函数拼接
|
30天前
|
存储 SQL 数据库
MySQL设计规约问题之为什么要避免使用存储过程、触发器和函数
MySQL设计规约问题之为什么要避免使用存储过程、触发器和函数
|
2月前
|
JSON 关系型数据库 MySQL
MySQL常用函数解读:从基础到进阶的全方位指南
MySQL常用函数解读:从基础到进阶的全方位指南
|
2月前
|
关系型数据库 MySQL 开发者
Mysql COUNT() 函数详解
【6月更文挑战第19天】Mysql COUNT() 函数详解,包括 COUNT() 的用法及 COUNT() 带条件查询的操作