Zu den Flusskontrollanweisungen in MySQL gehören: IF-Anweisung, CASE-Anweisung, LOOP-Anweisung, WHILE-Anweisung, REPEAT-Anweisung, LEAVE-Anweisung und ITERATE-Anweisung, die alle den Programmfluss steuern können.
Flusskontrollanweisungen können in gespeicherten Prozeduren und benutzerdefinierten Funktionen verwendet werden, um den Programmfluss zu steuern. Zu den Flusskontrollanweisungen in MySQL gehören: IF-Anweisung, CASE-Anweisung, LOOP-Anweisung, WHILE-Anweisung, REPEAT-Anweisung, LEAVE-Anweisung und ITERATE-Anweisung, die eine Prozesssteuerung durchführen können. (Empfohlenes Tutorial: MySQL-Video-Tutorial)
1. IF-Anweisung
IF-Anweisung wird verwendet, um bedingte Beurteilungen vorzunehmen und verschiedene Operationen entsprechend unterschiedlichen Bedingungen durchzuführen. Wenn diese Anweisung ausgeführt wird, beurteilt sie zunächst, ob die Bedingung nach IF wahr ist, und führt dann die Anweisung nach THEN aus. Wenn sie falsch ist, wird die IF-Anweisung so lange beurteilt, bis keine der oben genannten Bedingungen erfüllt ist Inhalt, nachdem die ELSE-Anweisung ausgeführt wurde. Der Ausdruck der IF-Anweisung lautet wie folgt:
IF condition THEN ... ELSE condition THEN ... ELSE ... END IF
Beispiel: Verwenden Sie die IF-Anweisung, um bedingte Urteile zu fällen.
-- 创建存储过程 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);
Hinweis: Die IF( )-Funktion in MySQL unterscheidet sich von der IF-Anweisung hier.
2. CASE-Anweisung
Diese Anweisung sucht zunächst nach einem Wert, der dem VALUE nach CASE aus dem VALUE nach WHEN entspricht Andernfalls wird der Inhalt nach ELSE ausgeführt. Die CASE-Anweisung wird wie folgt ausgedrückt:
CASE value WHEN value THEN ... WHEN value THEN ... ELSE ... END CASE
Ein weiterer grammatikalischer Ausdruck der CASE-Anweisung lautet wie folgt:
CASE WHEN value THEN ... WHEN value THEN ... ELSE ... END CASE
Beispiel: Verwenden Sie die CASE-Anweisung, um bedingte Urteile zu fällen.
-- 创建存储过程 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. WHILE-Schleifenanweisung
Wenn die WHILE-Schleifenanweisung ausgeführt wird, stellen Sie zunächst fest, ob die Bedingung wahr ist. Wenn ja, führen Sie den Schleifenkörper aus, andernfalls verlassen Sie die Schleife. Die Syntax wird wie folgt ausgedrückt:
WHILE condition DO ... END WHILE;
Beispiel: Verwenden Sie die WHILE-Schleifenanweisung, um die Summe der ersten 100 zu ermitteln.
-- 创建存储过程 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. LOOP-Schleifenanweisung
LOOP-Schleife hat keine integrierten Schleifenbedingungen, aber Sie können die Schleife durch die LEAVE-Anweisung verlassen. Der Ausdruck der LOOP-Anweisung lautet wie folgt:
LOOP ... END LOOP
Die LOOP-Anweisung ermöglicht die wiederholte Ausführung einer bestimmten Anweisung oder Anweisungsgruppe und realisiert so eine einfache Schleifenstruktur. Die Anweisungen in der Schleife werden wiederholt, bis die Schleife verlassen wird und der LEAVE Die Anweisung wird verwendet, um die Schleife zu verlassen. Die
LEAVE-Anweisung wird oft zusammen mit BEGIN...END oder einer Schleife verwendet und hat den folgenden Ausdruck:
LEAVE label
label ist der in der Anweisung markierte Name, und dieser Name wird angepasst.
Beispiel: Verwenden Sie die LOOP-Schleifenanweisung, um die Summe der ersten 100 zu ermitteln.
-- 创建存储过程 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. REPEAT-Schleifenanweisung
Die REPEAT-Schleifenanweisung führt zuerst den Schleifenkörper einmal aus und bestimmt dann, ob die Bedingung wahr ist, und verlässt dann die Schleife, andernfalls wird die Schleife weiter ausgeführt. Die Darstellung der REPEAT-Anweisung lautet wie folgt:
REPEAT ... UNTIL condition END REPEAT
Beispiel: Verwenden Sie die REPEAT-Schleifenanweisung, um die Summe der ersten 100 zu ermitteln.
-- 创建存储过程 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. ITERATE-Anweisung
Die ITERATE-Anweisung kann innerhalb der LOOP-, REPEAT- und WHILE-Anweisungen erscheinen, was „noch einmal eine Schleife“ bedeutet. Das Anweisungsformat ist wie folgt:
ITERATE label
Das Format dieser Anweisung ähnelt LEAVE. Der Unterschied besteht darin, dass die LEAVE-Anweisung eine Schleife verlässt, während die ITERATE-Anweisung eine Schleife neu startet.
Beispiel: Ermitteln Sie die Summe der ungeraden Werte innerhalb von 10.
-- 创建存储过程 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
Weitere Kenntnisse zum Thema Programmierung finden Sie auf: Website zum Programmierenlernen! !
Das obige ist der detaillierte Inhalt vonWas beinhaltet die MySQL-Flusskontrollanweisung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!