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;

```

相关推荐
数据库学啊41 分钟前
靠谱的时序数据库哪家技术强
数据库·时序数据库
Wang's Blog1 小时前
MySQL: 存储引擎深度解析:CSV与Archive的特性、应用与实战演示
数据库·mysql
q***07142 小时前
Spring Boot 从 2.7.x 升级到 3.3注意事项
数据库·hive·spring boot
秋天之落叶2 小时前
使用ADO将excel表内容加载到mssql表中的长度问题
数据库·sqlserver·excel
毕设十刻2 小时前
基于Vue的售票系统开发3g480(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js
q***31892 小时前
如何查询SQL Server数据库服务器的IP地址
服务器·数据库·tcp/ip
Wang's Blog2 小时前
MySQL: 数据库读写分离与负载均衡的实现方式及深度分析
数据库·mysql·负载均衡
beijingliushao2 小时前
93-MongoDB-Linux
linux·数据库·mongodb
Hello.Reader2 小时前
使用 Flink CDC Elasticsearch Pipeline Connector 打通 MySQL 与 Elasticsearch 的实时链路
mysql·elasticsearch·flink