for-Schleife in MySQL

Preet Sanghavi 28 März 2022
for-Schleife in MySQL

In diesem Tutorial lernen wir, wie man die for-Schleife in MySQL verwendet.

Eine for-Schleife wird im Allgemeinen verwendet, um eine bestimmte Bedingung abzufragen. Einfacher ausgedrückt: Diese Schleifen werden in MySQL so lange ausgeführt, bis eine bestimmte vordefinierte Bedingung erfüllt ist.

Sobald die gesetzte Bedingung erfüllt ist, wird die betrachtete Ausführung der for-Schleife beendet. Nach Beendigung dieser for-Schleife können wir die in der Konsole ausgegebenen oder in einer Datenstruktur gespeicherten Schleifenergebnisse überprüfen.

Lassen Sie uns mehr über die Details und die Implementierung dieser Schleife erfahren.

Um eine for-Schleife in MySQL auszuführen oder auszuführen, muss man eine gespeicherte Prozedur schreiben. Dieses Verfahren wird manchmal als Sammlung von MySQL-Anweisungen bezeichnet, die zusammengeschrieben werden, um zu vermeiden, dass MySQL-Abfragen wiederholt zur Ausführung neu geschrieben werden.

Es gibt mehrere Möglichkeiten, eine gespeicherte Prozedur in MySQL zu schreiben, über die wir in einem separaten Tutorial mehr erfahren werden. Lassen Sie uns verstehen, wie man eine gespeicherte Prozedur für die for-Schleife in einer bestimmten Datenbank in MySQL schreibt.

Lassen Sie uns eine Dummy-Datenbank erstellen. Wir können diese Datenbank boatdb nennen, was sich auf die verschiedenen Boote bezieht, die für ein bestimmtes Unternehmen in See stechen. Wir können dies mit der folgenden Abfrage tun.

CREATE DATABASE boatdb;

Sobald wir dies getan haben, können wir sehen, dass wir eine neue Datenbank namens boatdb in unserem Verzeichnis haben werden.

Hinweis: Eine solche Datenbank wird nur erstellt, wenn sie nicht bereits auf dem MySQL-Server vorhanden ist.

Wir können jetzt Abfragen und Prozeduren in dieser Datenbank ausführen, indem wir ihre Verwendung aktivieren. Wir können diese neu erstellte Datenbank mit der folgenden Abfrage verwenden.

USE boatdb;

Dies würde unsere gegenwärtig betrachtete Datenbank ändern.

Lassen Sie uns nun eine gespeicherte Prozedur mit einer for-Schleife schreiben. Lassen Sie uns insbesondere versuchen, Werte von -5 bis 0 mit Komma-Trennung zu drucken.

-- Start of our procedure
delimiter //

CREATE procedure boatdb.for_loop_example()
wholeblock:BEGIN
  DECLARE x INT;
  DECLARE str VARCHAR(255);
  SET x = -5;
  SET str = '';
  loop_label: LOOP
    IF x > 0 THEN
      LEAVE loop_label;
    END IF;
    SET str = CONCAT(str,x,',');
    SET x = x + 1;
    ITERATE loop_label;
  END LOOP;
  SELECT str;
END//
-- End of Procedure

Wie wir in der obigen Prozedur sehen können, haben wir eine Variable x, die anfänglich auf -5 gesetzt ist. Wir aktualisieren den Wert von x mit jeder Iteration in unserer Schleife und drucken den Wert von x mit einem Komma, um die benachbarten Werte zu trennen.

Sobald wir die Prozedur geschrieben und zur Verwendung eingestellt haben, können wir diese Prozedur mit der CALL-Anweisung in MySQL aufrufen. Es lässt sich wie folgt veranschaulichen.

call for_loop_example();

Wie wir in der obigen Anweisung sehen können, rufen wir die for_loop_example() auf, unsere gespeicherte Prozedur in der boatdb-Datenbank.

Ausgabe:

str
-5,-4,-3,-2,-1,0,

Wie wir es uns vorher vorgenommen hatten, lassen wir unsere Werte von -5 bis 0 mit Hilfe der for-Schleife mit der Stored Procedure ausgeben.

Hinweis: Wir haben am Ende der Ausgabe ein Komma, da wir unsere Schleife so entworfen haben, dass der Wert von x zuerst gedruckt wird. Dann wird das Komma generiert und so haben wir aufgrund der Abbruchbedingung x > 0 ein zusätzliches Komma am Ende unserer Ausgabe.

Daher können wir mit Hilfe einer gespeicherten Prozedur in MySQL effizient eine for-Schleife schreiben, die Daten abfragen und wie erwartet aussagekräftige Ergebnisse generieren kann.

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

Verwandter Artikel - MySQL Query

Verwandter Artikel - MySQL Loop