创建 MySQL 最大值函数

MySQLBeginner
立即练习

介绍

在本项目中,你将学习如何在 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 中练习更多实验来提升你的技能。