Créer une fonction de valeur maximale dans MySQL

MySQLMySQLBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce projet, vous allez apprendre à créer une fonction personnalisée dans MySQL qui renvoie le plus grand de deux nombres donnés. Ce projet vous guidera tout au long du processus d'accès à MySQL, d'importation de données et de développement d'une fonction pour effectuer un jugement de valeur maximale.

👀 Aperçu

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

🎯 Tâches

Dans ce projet, vous allez apprendre :

  • Comment accéder à MySQL en utilisant la commande sudo sans mot de passe
  • Comment importer des données à partir d'un script SQL dans MySQL
  • Comment créer une fonction personnalisée dans MySQL qui prend deux entiers en entrée et renvoie la valeur la plus grande

🏆 Réalisations

Après avoir terminé ce projet, vous serez capable de :

  • Comprendre comment travailler avec MySQL et créer des fonctions personnalisées
  • Développer une fonction pour effectuer un jugement de valeur maximale
  • Appliquer vos connaissances MySQL pour résoudre des problèmes pratiques

Accéder à MySQL et importer des données

Dans cette étape, vous allez apprendre à accéder à MySQL en utilisant la commande sudo sans mot de passe, et à importer les données à partir du script edusys.sql donné dans MySQL.

  1. Démarrez votre base de données MySQL :
sudo service mysql start
  1. Accédez à MySQL :
sudo mysql
  1. Importez les données à partir du script edusys.sql :
SOURCE /home/labex/project/edusys.sql;

Créer la fonction getMax

Dans cette étape, vous allez apprendre à créer une fonction personnalisée getMax qui prend deux entiers en entrée et renvoie la valeur la plus grande.

  1. Ouvrez le fichier getMax.sql.
  2. Ajoutez le script suivant pour créer la fonction getMax :
-- Définissez le délimiteur sur // pour autoriser l'utilisation du point-virgule (;) dans le corps de la fonction
DELIMITER //

-- Créez une fonction personnalisée nommée getMax qui prend deux entiers en entrée et renvoie la valeur maximale
CREATE FUNCTION getMax(a INT, b INT)
RETURNS INT
BEGIN
  -- Déclarez une variable max_val pour stocker la valeur maximale
  DECLARE max_val INT;

  -- Comparez les valeurs d'entrée a et b
  IF a > b THEN
    SET max_val = a;
  ELSE
    SET max_val = b;
  END IF;

  -- Retournez la valeur maximale
  RETURN max_val;
END //

-- Remettez le délimiteur à son point-virgule par défaut (;)
DELIMITER ;

Tester la fonction getMax

Dans cette étape, vous allez apprendre à tester la fonction getMax en exécutant une requête d'exemple.

  1. Exécutez le script SQL dans l'invite de commande MySQL :
SOURCE /home/labex/project/getMax.sql
  1. Exécutez la requête suivante pour tester la fonction getMax :
SELECT getMax(1, 3);

La sortie devrait être :

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

Félicitations ! Vous avez créé avec succès une fonction personnalisée getMax qui renvoie le plus grand de deux nombres donnés.

✨ Vérifier la solution et pratiquer

Sommaire

Félicitations ! Vous avez terminé ce projet. Vous pouvez pratiquer plus de laboratoires dans LabEx pour améliorer vos compétences.