Maison > Article > base de données > Quelles sont les similitudes et les différences entre les trois instructions de boucle While, Loop et Repeat ?
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.
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,''),CONCAT('while',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,''),CONCAT('repeat',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 :
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,''),CONCAT('loop',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 boucledo {} 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!