Maison  >  Article  >  base de données  >  Quelles sont les similitudes et les différences entre les trois instructions de boucle While, Loop et Repeat ?

Quelles sont les similitudes et les différences entre les trois instructions de boucle While, Loop et Repeat ?

青灯夜游
青灯夜游original
2021-02-01 10:44:434851parcourir

Même point : ne peut pas être utilisé seul, principalement utilisé dans les procédures stockées et les fonctions FUNCTION. Différence : WHILE juge d'abord puis exécute ; il ne s'exécute que lorsque les conditions sont remplies. REPEAT et LOOP sont exécutés en premier puis jugés ; la boucle se termine lorsque les conditions sont remplies. Lorsque la condition est fausse, REPEAT peut également être exécutée une fois ; les deux autres instructions ne peuvent pas être exécutées.

Quelles sont les similitudes et les différences entre les trois instructions de boucle While, Loop et Repeat ?

L'environnement d'exploitation de ce tutoriel : système windows7, version mysql8, ordinateur Dell G3.

1. Présentation des boucles MySQL

Il existe trois types de boucles dans MySQL, à savoir WHILE, REPEAT, LOOP (on dit que il y a aussi goto), qui ne peut pas être utilisé seul, principalement utilisé dans les procédures stockées PROCEDURE et les fonctions FUNCTION.

2. Boucle WHILE

1. Syntaxe : WHILE condition DO doSomething END WHILE ;

2. Description : Si la condition est satisfaite, le contenu du corps de la boucle sera exécuté. S'il n'est pas satisfait, la boucle se terminera. (Par exemple : 2>1, satisfait ; 1<2, non satisfait.) --- Jugez d'abord, puis exécutez.

3. Exemple : Créer une procédure stockée en boucle while pro_while

DROP PROCEDURE IF EXISTS pro_while ;
CREATE PROCEDURE pro_while()
BEGIN
	 DECLARE  sum INT DEFAULT 0 ;
	 WHILE sum < 100 DO
		INSERT INTO `chapter`.`batch` (`id`, `name`, `age`) 
		VALUES (CONCAT(sum,&#39;&#39;),CONCAT(&#39;while&#39;,sum) , sum);
		SET sum = sum + 1;
   	END WHILE ;
END;

4. Appelez la procédure stockée : CALL. pro_while ();

Recommandation associée "Tutoriel vidéo MySQL"

Boucle RÉPÉTER

1. Syntaxe : REPEAT doSomething JUSQU'À condition END REPEAT ;

2. Description : doSomething effectue d'abord les opérations pertinentes, puis détermine si la condition est remplie If. alors, terminez la boucle. (À l'opposé de la boucle WHILE) ---Exécutez d'abord, jugez plus tard.

3. Exemple : Créer une fonction de boucle de répétition fun_repeat

DROP FUNCTION IF EXISTS fun_repeat ;
CREATE FUNCTION fun_repeat() RETURNS INT
BEGIN
	DECLARE  sum INT DEFAULT 1000 ;
		REPEAT 
			INSERT INTO `chapter`.`batch` (`id`, `name`, `age`) 
			VALUES (CONCAT(sum,&#39;&#39;),CONCAT(&#39;repeat&#39;,sum) , sum);
			SET sum = sum + 1;	
		UNTIL sum > 1100 END REPEAT ; -- 满足条件结束循环
	RETURN 1;
END;

4. Fonction d'exécution : SELECT fun_repeat();

4. Boucle LOOP

1. Syntaxe :

loop_name : LOOP
    IF condition THEN
        LEAVE loop_name ;
    END IF;
    doSomething
END LOOP;

2. Description :

  • nom_boucle. est le nom de la boucle, personnalisé, les mots-clés ne sont pas disponibles.
    • Opérations associées effectuées par doSomething.
    • condition Si la condition est remplie, la boucle se termine. --- Jugez d’abord, puis exécutez.

3. Exemple : Créer une procédure stockée en boucle pro_loop

DROP PROCEDURE IF EXISTS pro_loop ;
CREATE PROCEDURE pro_loop()
BEGIN
	DECLARE sum int DEFAULT 10000 ;
	loop_sums : LOOP -- 【开始】loop 名字,自定义
		IF sum > 10100 THEN
			LEAVE loop_sums ; -- 满足条件,则结束循环
		END IF; 
		INSERT INTO `chapter`.`batch` (`id`, `name`, `age`) 
		VALUES (CONCAT(sum,&#39;&#39;),CONCAT(&#39;loop&#39;,sum) , sum);
		SET sum = sum + 1;	
	END LOOP ;  -- 【结束】
END ;

4. 🎜 >CALL pro_loop();

5.Résumé

1. Lorsque la condition est remplie, exécutez et exécutez la boucle.

2. RÉPÉTER la boucle,

exécuter d'abord, puis juger. Si la condition est remplie, elle ne sera pas exécutée et la boucle se terminera.

3. BOUCLE, exécutez d'abord, puis jugez. Si la condition est remplie, elle ne sera pas exécutée et la boucle se terminera.

4. Lorsque la condition est fausse, la boucle REPEAT peut également être exécutée une fois, similaire à la boucle

do {} while (condition); en java while les boucles WHILE et LOOP; ne peut pas être exécuté.

Pour plus de connaissances sur la programmation informatique, veuillez visiter :

Introduction à la 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn