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;

```

相关推荐
嘘神秘用3 小时前
布:AI 驱动的 Redis 客户端,更快、更直观
数据库·人工智能·redis
东北小狐狸-Hellxz5 小时前
Redis 哨兵搭建+ACL权限控制
数据库·redis
研究员子楚6 小时前
GEO行业发展标准体系白皮书V2.0-第09卷 · 适配篇:硅基主权伦理宪章与行业适配宣言
数据库·人工智能·geo
CoderMeijun7 小时前
一条SQL查询语句在MySQL中是如何执行的
mysql·sql执行流程·连接器·mysql架构·索引下推·执行器
l134062082358 小时前
鸿蒙实战:RDB 数据库设计与 DatabaseService
数据库·华为·harmonyos·鸿蒙系统
山峰哥8 小时前
数据库工程与索引策略实战指南‌
服务器·数据库·sql·oracle·深度优先
谙忆8 小时前
图片版权保护工程实战:明水印、盲水印(DCT隐写)、Referer防盗链与签名URL怎么落地
数据库
KaMeidebaby8 小时前
卡梅德生物技术快报|抗体合成:多肽抗体合成工程化方案:Nsp2 保守肽多抗制备与多维度验证
前端·网络·数据库·人工智能·算法
xfhuangfu8 小时前
19c CDB架构下的数据库启动和停止
数据库·架构
神道君天下9 小时前
填充与积累:积分与面积的可视化
数据库·oracle