创建 MySQL 最大值函数

MySQLMySQLBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本项目中,你将学习如何在MySQL中创建一个自定义函数,该函数返回两个给定数字中的较大值。本项目将指导你完成访问MySQL、导入数据以及开发一个执行最大值判断的函数的过程。

👀 预览

MariaDB [edusys]> SELECT getMax(1, 3);
+--------------+
| getMax(1, 3) |
+--------------+
|            3 |
+--------------+
1 row in set (0.001 sec)

🎯 任务

在本项目中,你将学习:

  • 如何使用sudo命令无密码访问MySQL
  • 如何将SQL脚本中的数据导入MySQL
  • 如何在MySQL中创建一个自定义函数,该函数接受两个整数作为输入并返回较大的值

🏆 成果

完成本项目后,你将能够:

  • 理解如何使用MySQL并创建自定义函数
  • 开发一个执行最大值判断的函数
  • 应用你的MySQL知识解决实际问题

访问MySQL并导入数据

在这一步中,你将学习如何使用sudo命令无密码访问MySQL,并将给定的edusys.sql脚本中的数据导入MySQL。

  1. 启动你的MySQL数据库:
sudo service mysql start
  1. 访问MySQL:
sudo mysql
  1. edusys.sql脚本导入数据:
SOURCE /home/labex/project/edusys.sql;

创建 getMax 函数

在这一步中,你将学习如何创建一个自定义函数 getMax,该函数接受两个整数作为输入并返回较大的值。

  1. 打开 getMax.sql 文件。
  2. 添加以下脚本以创建 getMax 函数:
-- 将分隔符设置为 //,以便在函数体中使用分号 (;)
DELIMITER //

-- 创建一个名为 getMax 的自定义函数,该函数接受两个整数作为输入并返回最大值
CREATE FUNCTION getMax(a INT, b INT)
RETURNS INT
BEGIN
  -- 声明一个变量 max_val 来存储最大值
  DECLARE max_val INT;

  -- 比较输入值 a 和 b
  IF a > b THEN
    SET max_val = a;
  ELSE
    SET max_val = b;
  END IF;

  -- 返回最大值
  RETURN max_val;
END //

-- 将分隔符重置回默认的分号 (;)
DELIMITER ;

测试 getMax 函数

在这一步中,你将学习如何通过运行一个示例查询来测试 getMax 函数。

  1. 在MySQL提示符中运行SQL脚本:
SOURCE /home/labex/project/getMax.sql
  1. 运行以下查询来测试 getMax 函数:
SELECT getMax(1, 3);

输出应该是:

+--------------+
| getMax(1, 3) |
+--------------+
|            3 |
+--------------+
1 row in set (0.001 sec)

恭喜!你已成功创建了一个自定义函数 getMax,它返回两个给定数字中的较大值。

✨ 查看解决方案并练习

总结

恭喜!你已完成本项目。你可以在LabEx中练习更多实验来提升你的技能。