Boucle For dans MySQL

Preet Sanghavi 28 mars 2022
Boucle For dans MySQL

Dans ce tutoriel, nous allons apprendre à utiliser la boucle for dans MySQL.

Une boucle for est généralement utilisée pour interroger une condition particulière. En termes plus simples, ces boucles continuent de s’exécuter dans MySQL jusqu’à ce qu’une condition prédéfinie particulière soit remplie.

Une fois la condition définie remplie, l’exécution de la boucle for considérée est terminée. À la fin de cette boucle for, nous pouvons vérifier les résultats de la boucle imprimés dans la console ou stockés dans une structure de données.

Laissez-nous comprendre plus sur les détails et la mise en œuvre de cette boucle.

Pour lancer ou exécuter une boucle for dans MySQL, il faut écrire une procédure stockée. Cette procédure est parfois appelée une collection d’instructions MySQL écrites ensemble pour éviter de réécrire les requêtes MySQL pour une exécution répétée.

Il existe plusieurs façons d’écrire une procédure stockée dans MySQL, sur lesquelles nous en apprendrons plus dans un tutoriel séparé. Comprenons comment écrire une procédure stockée pour la boucle for dans une base de données particulière dans MySQL.

Créons une base de données factice. On peut nommer cette base de données boatdb, qui fait référence aux différents bateaux mis à la voile pour une compagnie particulière. Nous pouvons le faire en utilisant la requête suivante.

CREATE DATABASE boatdb;

Une fois cela fait, nous pouvons voir que nous aurons une nouvelle base de données nommée boatdb dans notre répertoire.

Remarque : Une telle base de données ne sera créée que si elle n’existe pas déjà sur le serveur MySQL.

Nous pouvons maintenant exécuter des requêtes et des procédures dans cette base de données en activant son utilisation. Nous pouvons utiliser cette base de données nouvellement créée avec la requête suivante.

USE boatdb;

Cela modifierait notre base de données actuelle à l’étude.

Écrivons maintenant une procédure stockée avec une boucle for. En particulier, essayons d’imprimer des valeurs de -5 à 0 avec une séparation par des virgules.

-- Start of our procedure
delimiter //

CREATE procedure boatdb.for_loop_example()
wholeblock:BEGIN
  DECLARE x INT;
  DECLARE str VARCHAR(255);
  SET x = -5;
  SET str = '';
  loop_label: LOOP
    IF x > 0 THEN
      LEAVE loop_label;
    END IF;
    SET str = CONCAT(str,x,',');
    SET x = x + 1;
    ITERATE loop_label;
  END LOOP;
  SELECT str;
END//
-- End of Procedure

Comme nous pouvons le voir dans la procédure ci-dessus, nous avons une variable x, initialement fixée à -5. Nous mettons à jour la valeur de x à chaque itération dans notre boucle et imprimons la valeur de x avec une virgule pour séparer les valeurs voisines.

Une fois que nous avons la procédure écrite et configurée pour être utilisée, nous pouvons appeler cette procédure en utilisant l’instruction CALL dans MySQL. Il peut être illustré comme suit.

call for_loop_example();

Comme nous pouvons le voir dans l’instruction ci-dessus, nous appelons le for_loop_example(), notre procédure stockée dans la base de données boatdb.

Production :

str
-5,-4,-3,-2,-1,0,

Comme nous l’avions visé auparavant, nous avons nos valeurs allant de -5 à 0 imprimées à l’aide de la boucle for en utilisant la procédure stockée.

Remarque : nous avons une virgule à la fin de la sortie car nous avons conçu notre boucle de telle sorte que la valeur de x soit imprimée en premier. Ensuite, la virgule est générée, et donc sur la base de la condition de terminaison que x > 0, nous avons une virgule supplémentaire à la fin de notre sortie.

Par conséquent, à l’aide d’une procédure stockée dans MySQL, nous pouvons écrire efficacement une boucle for qui peut interroger les données et générer des résultats significatifs comme prévu.

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

Article connexe - MySQL Query