MYSQL的聚合函数,存储过程的知识点

聚合函数

MySQL提供了多种聚合函数,用于对数据进行汇总计算:

  • **COUNT():** 统计行数或非NULL值的数量。

  • **SUM():** 计算某列值的总和。

  • **AVG():** 计算某列值的平均值。

  • **MAX():** 获取某列的最大值。

  • **MIN():** 获取某列的最小值。

这些函数可用于单列或多列,也可搭配WHERE子句进行条件过滤。

存储过程

MySQL存储过程是预先编译并存储在数据库中的一组SQL语句。它们有以下关键特点:

  • **参数支持:** 存储过程可以接受参数,并在执行时使用这些参数。

  • **封装逻辑:** 允许将多个SQL语句组合为一个可重用的单元。

  • **提高性能:** 存储过程可以减少与数据库服务器的通信次数,提高性能。

  • **事务控制:** 可以在存储过程中实现事务控制,保证数据的一致性和完整性。

存储过程的基本语法包括`CREATE PROCEDURE`来创建存储过程,`BEGIN...END`来定义过程体,以及`CALL`来执行存储过程。

示例:

**聚合函数示例:**

```sql

SELECT COUNT(*) AS TotalUsers FROM users; -- 统计用户总数

SELECT AVG(salary) AS AvgSalary FROM employees WHERE department = 'Sales'; -- 计算销售部门的平均工资

```

**存储过程示例:**

```sql

DELIMITER //

CREATE PROCEDURE GetEmployeeCount(IN dept_name VARCHAR(50), OUT employee_count INT)

BEGIN

SELECT COUNT(*) INTO employee_count FROM employees WHERE department = dept_name;

END //

DELIMITER ;

CALL GetEmployeeCount('Sales', @count); -- 调用存储过程并获取销售部门的员工数

SELECT @count AS SalesEmployeeCount;

```

相关推荐
Mr.朱鹏2 小时前
Linux 服务器 LVM 根分区在线动态扩容
linux·服务器·数据库
摇滚侠2 小时前
《SpringBoot 3:入门与应用实战》第 12 章 JDBC 与事务 数据库初始化机制 阅读笔记 36
数据库·spring boot·笔记
qiuhaipeng12 小时前
Claude code 升级后上下文长度变短问题
java·前端·数据库
云贝贝贝3 小时前
腾讯云 TDSQL(MySQL 版)运维高频 6 坑:代理路由、读写分离、分片键、监控、PITR
运维·mysql·腾讯云
wxwx_bscxy3223 小时前
基于Python新冠疫情可视化分析系统的设计与实现
java·数据库·spring boot·python·微信小程序·sqlite
剑之所向4 小时前
.NET 官方`System.Threading.Channels`
前端·javascript·数据库
词却5 小时前
数据库基础:DQL 数据查询语言
数据库·oracle
昌原的儿子LEO6 小时前
Linux IO多路复用与SQLite数据库核心知识点总结
linux·数据库·oracle
山岚的运维笔记7 小时前
mysql 专业笔记 -- 第 8 章:使用变量
运维·数据库·笔记·后端·学习·mysql·dba
聚美智数7 小时前
网安查询-备案查询-网络安全查询API接口介绍
网络·数据库·web安全