Dieser Artikel beschreibt anhand eines Beispiels die Struktur der MySQL-Codeausführung. Teilen Sie uns die Einzelheiten zu Ihrer Information mit: In diesem Artikel:- Wie ist die Codeausführungsstruktur?
- Sequenzstruktur
- Branchenstruktur
- Schleifenstruktur
Veröffentlichungsdatum: 18.04.2018
Wie ist die Codeausführungsstruktur:- Die hier erwähnte Codeausführungsstruktur ist die Ausführungsreihenfolge mehrerer SQL-Anweisungen.
- Die Codeausführungsstruktur wird hauptsächlich zum Speichern mehrerer SQL-Anweisungen in Triggern, gespeicherten Prozeduren und Funktionen verwendet.
Sequenzieller Aufbau:- Die sequentielle Struktur besteht darin, SQL-Anweisungen von oben nach unten auszuführen
- Im Allgemeinen ist die Standardstruktur eine Sequenz
Branchenstruktur:- Die Ausführung der Verzweigungsstruktur besteht darin, den Ausführungspfad basierend auf bestimmten Bedingungen auszuwählen. Die Ausführung dieser SQL-Anweisungen erfolgt basierend auf den von uns angegebenen Bedingungen.
- Die Verzweigungsstruktur in MySQL besteht nur aus if-else:
- Grammatik:
wenn Bedingung dann
SQL-Anweisung [elseif Bedingung dann
SQL-Anweisung]
[anders
SQL-Anweisung]
Ende wenn; - Beispiel:
--
Tabelle erstellen pass(id int Primärschlüssel auto_increment,name varchar(15),score int );
Tabelle erstellen unpass(id int Primärschlüssel auto_increment,name varchar(15),score int);
-- Verwenden Sie gespeicherte Prozeduren, um die Prozedur myif(in name varchar(15),in score int) zu erstellen.
beginnen
wenn Punktzahl >=60 dann
in Pass (Name, Punktzahl) einfügen Werte (Name, Punktzahl);
anders
einfügen in unpass(Name, Punktzahl) Werte(Name, Punktzahl);
Ende wenn;
Ende;
-- Aufrufen und das Ergebnis anzeigen call myif("lilei",61);
rufe myif("hanmeimei",95) auf;
wähle * aus Pass;
wähle * aus Unpass;
rufe myif("tuhao",59) auf;
wähle * aus Unpass; - Die Bedingungen in if können sich grundsätzlich auf die Bedingungen der while-Klausel der Select-Anweisung beziehen. Alles wie in\not in \= \!= usw. kann verwendet werden.
erstelle Prozedur myif3(in einem char(1))
beginnen
wenn a in('a','b') dann
wähle 1;
anders
wähle 2;
Ende wenn;
Ende;
rufen Sie myif3('a') auf;
rufen Sie myif3('b') auf;
rufen Sie myif3('c') auf;
Auffüllen:- Theoretisch sollten Sie, wenn die Beurteilung nicht korrekt ist und Sie die Ausführung nicht fortsetzen möchten, eine Rückgabe ausführen (z. B. die Rückgabe in der C-Sprache, um die Funktionsausführung zu unterbrechen), aber in MySQL gibt es keinen entsprechenden Unterbrechungsmechanismus, sodass wir aktiv unterbrechen müssen (es gibt viele Möglichkeiten zur Unterbrechung, z. B. das Ausführen einer Anweisung, die der Syntax entspricht, aber nicht ausgeführt werden kann). [In diesem Szenario geht es beispielsweise darum, festzustellen, ob ein Student vorhanden ist. Wenn nicht, wird keine Operation ausgeführt. Daher sollte eine Anweisung, die nicht erfolgreich ausgeführt werden kann, ausgeführt werden, um einen Fehler zu melden und zurückzukehren . 】
- Tatsächlich gibt es eine andere Verzweigungsstruktur: Fall, wenn [Es scheint, dass in vielen Büchern nicht viel darüber gesprochen wird, deshalb werde ich hier nicht darauf eingehen. Wenn Sie interessiert sind, können Sie auf Baidu suchen. 】
Schleifenstruktur:- Unter einer Schleifenstruktur versteht man eine Programmstruktur, die dazu dient, eine bestimmte Funktion in einem Programm wiederholt auszuführen. Die Schleifenstruktur in MySQL wird verwendet, um dieselbe SQL-Anweisung in einer Schleife mehrmals auszuführen.
- Zu den Schleifenstrukturen in MySQL gehören die Schleifenstruktur, die While-Struktur und die Wiederholungsstruktur. Hier beschreiben wir nur die While-Struktur. Wenn Sie mehr über die anderen Strukturen erfahren möchten, können Sie auf Baidu suchen.
 - Grammatik:
while-Bedingung tun
SQL-Anweisung endet, während; Wer andere Sprachen gelernt hat, weiß vielleicht, dass es in der Schleifenstruktur die Ausdrücke continue (vorzeitiges Beenden der Schleife) und break (Ausspringen aus der gesamten Schleife) gibt. In der Schleifenstruktur von MySQL wird „leave“ anstelle von „break“ und „iterate“ anstelle von „continue“ verwendet, ihre Verwendungssyntax lautet jedoch: „leave\iterate“ Schleifenname. Wie wird also der Schleifenname definiert?
Schleifenname: while-Bedingung do
SQL-Anweisung;
leave_iterate-Schleifenname;
Ende während; - Beispiel:
- Ein bedeutungsloses Beispiel, nur zur Demonstration: create table whilenum(id int);
-- Prozedur mywhile() mit integrierten Bedingungen erstellen
beginnen
Deklariere num int;
setze Num=10;
c1:während num>0 mache
einfügen in whilenum values(num);
setze num=num-1;
Ende während;
Ende;
-- Prozedur mywhile2(in num int) mit dem übergebenen Parameter als Bedingung erstellen
beginnen
c1:während num>0 mache
einfügen in whilenum values(num);
setze num=num-1;
Ende während;
Ende;
-- Prozedur mywhile3(in num int) mit Interrupt erstellen
beginnen
c1:während num>0 mache
wenn num%2=0 dann
setze num=num-1;
c1 iterieren;
Ende wenn;
einfügen in whilenum values(num);
setze Num=Num-1;
Ende während;
Ende;
Leser, die an weiteren MySQL-bezogenen Inhalten interessiert sind, können sich die folgenden Themen auf dieser Site ansehen: „MySQL-Abfragekenntnisse“, „MySQL-Transaktionsoperationskenntnisse“, „MySQL-gespeicherte Prozedurkenntnisse“, „Zusammenfassung der Kenntnisse zu MySQL-Datenbanksperren“ und „Zusammenfassung der allgemeinen MySQL-Funktionen“. Ich hoffe, dass dieser Artikel für jedermann beim Entwurf einer MySQL-Datenbank hilfreich ist. Das könnte Sie auch interessieren:- Beispielanalyse der Ausführungsreihenfolge und Schreibreihenfolge von MySQL-Anweisungen
- Verstehen Sie einfach die Schreib- und Ausführungsreihenfolge von MySQL-Anweisungen
- Ein kurzes Verständnis der MySQL SELECT-Ausführungsreihenfolge
- Eine kleine Frage zur Ausführungsreihenfolge von SQL in MySQL
- Detaillierte Erläuterung der Ausführung von SQL-Anweisungen (Übersicht über die MySQL-Architektur -> Abfrageausführungsprozess -> SQL-Analysereihenfolge)
- Analyse der Anweisungsausführungsreihenfolge von SQL und MySQL
- Eine kurze Erläuterung des MySQL-Ausführungsprozesses und der MySQL-Ausführungssequenz
|