MySQL ist eine häufig verwendete relationale Datenbank, in der gespeicherte Prozeduren eine sehr wichtige Funktion sind. Gespeicherte Prozeduren sind eine erweiterte Anwendung der SQL-Sprache. Sie kombinieren mehrere SQL-Anweisungen und verarbeiten sie als Einheit, um komplexe Operationen in der Datenbank durchzuführen.
Einführung in gespeicherte Prozeduren
Eine gespeicherte Prozedur ist eines der Datenbankobjekte, genau wie Tabellen, Ansichten, Indizes usw. Es handelt sich um eine Reihe vordefinierter SQL-Anweisungen. In MySQL ist eine gespeicherte Prozedur ein wiederverwendbarer Programmcode, der auf dem Client oder auf dem Datenbankserver ausgeführt werden kann.
Eigenschaften gespeicherter Prozeduren:
1. Kapselung
Gespeicherte Prozeduren können eine Reihe von SQL-Anweisungen in einer Funktion kombinieren, was die Kapselung und Sicherheit der Datenbank verbessert und einige fehlerhafte Vorgänge vermeidet.
2. Hohe Ausführungseffizienz
Die gespeicherte Prozedur wird beim Erstellen in Binärcode kompiliert. Bei der Ausführung wird der Binärcode direkt aufgerufen und die Ausführungseffizienz ist sehr hoch.
3. Wiederverwendbarkeit
Die gespeicherte Prozedur kann mehrfach aufgerufen werden, was die Wiederverwendbarkeit erhöht.
4. Leistungsstarke Funktion
Gespeicherte Prozedur ist eine erweiterte Anwendung der SQL-Sprache. Sie ist sehr leistungsfähig und kann komplexe Operationen der Datenbank realisieren.
Syntax der gespeicherten Prozedur
Definition der gespeicherten Prozedur
Die Definitionssyntax der gespeicherten Prozedur lautet wie folgt:
CREATE PROCEDURE procedure_name([Parameterliste])
BEGIN
存储过程主体内容
END;
Unter ihnen [Parameterliste] ist optional und bedeutet die für die gespeicherte Prozedur erforderlichen Eingabe- und Ausgabeparameter. Der Hauptinhalt der gespeicherten Prozedur ist eine Reihe von SQL-Anweisungen, die Kontrollflussanweisungen (z. B. IF, WHILE und LOOP usw.) enthalten und auch andere gespeicherte Prozeduren aufrufen können.
Parameter für gespeicherte Prozeduren
Gespeicherte Prozeduren können Eingabeparameter, Ausgabeparameter und Eingabe-/Ausgabeparameter haben. Eingabeparameter sind von außen übergebene Werte, die in der gespeicherten Prozedur verwendet werden. Ausgabeparameter werden in der gespeicherten Prozedur berechnet oder zugewiesen und nach Ausführung der gespeicherten Prozedur an den Aufrufer zurückgegeben. Für die bidirektionale Kommunikation werden Ein-/Ausgabeparameter verwendet.
Die Parametersyntax der gespeicherten Prozedur lautet wie folgt:
CREATE PROCEDURE procedure_name(IN|OUT|INOUT Parametername Parametertyp[,IN|OUT|INOUT Parametername Parametertyp...])
BEGIN
存储过程主体内容
END;
wobei Parametername ist Der Parametername, Parametertyp ist der Parametertyp, IN stellt den Eingabeparameter dar, OUT stellt den Ausgabeparameter dar und INOUT stellt den Eingabe-/Ausgabeparameter dar.
Aufruf einer gespeicherten Prozedur
Die Syntax des Aufrufs einer gespeicherten Prozedur lautet wie folgt:
CALL procedure_name([Parameterliste])
Dabei ist procedure_name der Name der gespeicherten Prozedur und die Parameterliste sind die erforderlichen Eingabeparameter durch die gespeicherte Prozedur.
Beispiel für eine gespeicherte Prozedur
Das Folgende ist ein einfaches Beispiel für die Erstellung einer gespeicherten Prozedur. Es erstellt eine gespeicherte Prozedur namens getUserInfo, die die Eingabe eines Benutzernamens erfordert und den Spitznamen des Benutzers zurückgibt:
DELIMITER $$
CREATE PROCEDURE getUserInfo(IN name VARCHAR (20), OUT Spitzname VARCHAR(20))
BEGIN
SELECT user_nickname INTO nickname FROM user WHERE user_name=name;
END $$
DELIMITER ;
Diese gespeicherte Prozedur hat zwei Parameter: Name ist der Eingabeparameter, der den Benutzernamen der Abfrage angibt; Spitzname ist der Ausgabeparameter , der den Spitznamen des Benutzers angibt. Der Hauptinhalt der gespeicherten Prozedur ist eine SELECT-Anweisung, die die Benutzertabelle nach qualifizierten Benutzer-Spitznamen abfragt und diese dem Spitznamen zuweist.
Aufruf der gespeicherten Prozedur:
CALL getUserInfo('jack', @nickname);
SELECT @nickname;
Der obige Code ruft die gespeicherte Prozedur getUserInfo mit dem Parameter 'jack' auf und weist das Abfrageergebnis dem @nickname zu Variable und geben Sie die @nickname-Variable aus.
Zusammenfassung gespeicherter Prozeduren
Gespeicherte Prozeduren sind eine wichtige Funktion von MySQL, die uns helfen kann, Datenbankoperationen besser zu implementieren. Durch gespeicherte Prozeduren können wir mehrere SQL-Anweisungen zu einer Einheit kombinieren, um die Kapselung und Sicherheit von Vorgängen zu verbessern. Es verbessert außerdem die Abfrageeffizienz und erhöht die Wiederverwendbarkeit und Skalierbarkeit. In praktischen Anwendungen können gespeicherte Prozeduren verwendet werden, um einige komplexe Geschäftsanforderungen wie Datenimport, Datenkonvertierung, Berechnung usw. zu bewältigen. Im Vergleich zu herkömmlichen SQL-Anweisungen sind gespeicherte Prozeduren bequemer und zuverlässiger und ein unverzichtbarer Bestandteil der Datenbankentwicklung.
Das obige ist der detaillierte Inhalt vonGespeicherte Prozeduren in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!