Heim > Datenbank > MySQL-Tutorial > Was beinhaltet die MySQL-Flusskontrollanweisung?

Was beinhaltet die MySQL-Flusskontrollanweisung?

青灯夜游
Freigeben: 2020-12-22 17:19:15
Original
6008 Leute haben es durchsucht

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.

Was beinhaltet die MySQL-Flusskontrollanweisung?

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
Nach dem Login kopieren

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);
Nach dem Login kopieren

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
Nach dem Login kopieren

Ein weiterer grammatikalischer Ausdruck der CASE-Anweisung lautet wie folgt:

CASE
	WHEN value THEN ...
	WHEN value THEN ...
	ELSE ...
END CASE
Nach dem Login kopieren

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);
Nach dem Login kopieren

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;
Nach dem Login kopieren

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;
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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;
Nach dem Login kopieren

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
Nach dem Login kopieren

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;
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage