Maison > Article > base de données > Que comprend l’instruction de contrôle de flux MySQL ?
Les instructions de contrôle de flux dans MySQL incluent : l'instruction IF, l'instruction CASE, l'instruction LOOP, l'instruction WHILE, l'instruction REPEAT, l'instruction LEAVE et l'instruction ITERATE, qui peuvent toutes contrôler le flux du programme.
Les instructions de contrôle de flux peuvent être utilisées dans des procédures stockées et des fonctions personnalisées pour contrôler le flux du programme. Les instructions de contrôle de flux dans MySQL incluent : l'instruction IF, l'instruction CASE, l'instruction LOOP, l'instruction WHILE, l'instruction REPEAT, l'instruction LEAVE et l'instruction ITERATE, qui peuvent effectuer un contrôle de processus. (Tutoriel recommandé : Tutoriel vidéo MySQL)
1 Instruction IF
L'instruction IF est utilisée pour émettre des jugements conditionnels. . Effectuez différentes opérations en fonction de différentes conditions. Lorsque cette instruction est exécutée, elle juge d'abord si la condition après IF est vraie, puis exécute l'instruction après ALORS si elle est fausse, elle continue à juger l'instruction IF jusqu'à ce qu'elle soit vraie. contenu après l’exécution de l’instruction ELSE. L'expression de l'instruction IF est la suivante :
IF condition THEN ... ELSE condition THEN ... ELSE ... END IF
Exemple : Utilisez l'instruction IF pour porter un jugement conditionnel.
-- 创建存储过程 CREATE PROCEDURE example_if (IN x INT) BEGIN IF x = 1 THEN SELECT 1; ELSEIF x = 2 THEN SELECT 2; ELSE SELECT 3; END IF; END; -- 调用存储过程 CALL example_if(2);
Remarque : La fonction IF() dans MySQL est différente de l'instruction IF ici.
2. Instruction CASE
L'instruction CASE est une structure d'instruction multi-branches qui recherche d'abord VALUE après WHEN. et La VALEUR après CASE est égale à la valeur Si elle est trouvée, le contenu de la branche sera exécuté, sinon le contenu après ELSE sera exécuté. L'instruction CASE est exprimée sous la forme suivante :
CASE value WHEN value THEN ... WHEN value THEN ... ELSE ... END CASE
Une autre expression grammaticale de l'instruction CASE est la suivante :
CASE WHEN value THEN ... WHEN value THEN ... ELSE ... END CASE
Exemple : Utilisez l'instruction CASE pour rendre conditionnel jugements.
-- 创建存储过程 CREATE PROCEDURE example_case(IN x INT) BEGIN CASE x WHEN 1 THEN SELECT 1; WHEN 2 THEN SELECT 2; ELSE SELECT 3; END CASE; END; -- 调用存储过程 CALL example_case(5);
3. Instruction de boucle WHILE
Lors de l'exécution de l'instruction de boucle WHILE, déterminez d'abord si la condition est vraie. le corps de la boucle. Sinon, quittez la boucle. La syntaxe est exprimée comme suit :
WHILE condition DO ... END WHILE;
Exemple : Utilisez l'instruction de boucle WHILE pour trouver la somme des 100 premiers.
-- 创建存储过程 CREATE PROCEDURE example_while(OUT sum INT) BEGIN DECLARE i INT DEFAULT 1; DECLARE s INT DEFAULT 0; WHILE i <= 100 DO SET s = s+i; SET i = i+1; END WHILE; SET sum = s; END; -- 调用存储过程 CALL example_while(@sum); SELECT @sum;
4. Instruction de boucle LOOP
La boucle LOOP n'a pas de conditions de boucle intégrées, mais vous pouvez quitter la boucle via LEAVE. déclaration. L'expression de l'instruction LOOP est la suivante :
LOOP ... END LOOP
L'instruction LOOP permet l'exécution répétée d'une instruction ou d'un groupe d'instructions spécifique pour implémenter une structure de boucle simple. Les instructions de la boucle sont répétées jusqu'à ce que la boucle soit quittée. . Lors de la sortie de la boucle, l'instruction LEAVE est utilisée.
L'instruction LEAVE est souvent utilisée avec BEGIN...END ou une boucle, et son expression est la suivante :
LEAVE label
label est le nom marqué dans l'instruction, et ce nom est personnalisé.
Exemple : Utilisez l'instruction de boucle LOOP pour trouver la somme des 100 premiers.
-- 创建存储过程 CREATE PROCEDURE example_loop(OUT sum INT) BEGIN DECLARE i INT DEFAULT 1; DECLARE s INT DEFAULT 0; loop_label:LOOP SET s = s+i; SET i = i+1; IF i>100 THEN -- 退出LOOP循环 LEAVE loop_label; END IF; END LOOP; SET sum = s; END; -- 调用存储过程 CALL example_loop(@sum); SELECT @sum;
5. Instruction de boucle REPEAT
L'instruction de boucle REPEAT exécute d'abord le corps de la boucle une fois, puis détermine si la condition est vraie, puis quitte la boucle, sinon la boucle continue. L'expression de l'instruction REPEAT est la suivante :
REPEAT ... UNTIL condition END REPEAT
Exemple : Utilisez l'instruction de boucle REPEAT pour trouver la somme des 100 premiers.
-- 创建存储过程 CREATE PROCEDURE example_repeat(OUT sum INT) BEGIN DECLARE i INT DEFAULT 1; DECLARE s INT DEFAULT 0; REPEAT SET s = s+i; SET i = i+1; UNTIL i > 100 END REPEAT; SET sum = s; END; -- 调用存储过程 CALL example_repeat(@sum); SELECT @sum;
6. Instruction ITERATE
L'instruction ITERATE peut apparaître dans les instructions LOOP, REPEAT et WHILE, ce qui signifie "boucler à nouveau". Le format de l'instruction est le suivant :
ITERATE label
Le format de cette instruction est similaire à celui de LEAVE. La différence est que : l'instruction LEAVE quitte une boucle, tandis que l'instruction ITERATE redémarre une boucle.
Exemple : Trouver la somme des valeurs impaires à 10 près.
-- 创建存储过程 CREATE PROCEDURE example_iterate(OUT sum INT) BEGIN DECLARE i INT DEFAULT 0; DECLARE s INT DEFAULT 0; loop_label:LOOP SET i = i+1; IF i > 10 THEN -- 退出整个循环 LEAVE loop_label; END IF; IF (i mod 2) THEN SET s = s+i; ELSE -- 退出本次循环,继续下一个循环 ITERATE loop_label; END IF; END LOOP; SET sum = s; END; -- 调用存储过程 CALL example_iterate(@sum); SELECT @sum
Pour plus de connaissances liées à la programmation, veuillez visiter : Site Web d'apprentissage en programmation ! !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!