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.