Erläuterung der grundlegenden Syntax gespeicherter Prozeduren in der MySQL-Datenbank

Erläuterung der grundlegenden Syntax gespeicherter Prozeduren in der MySQL-Datenbank
Löschprozedur sp_name/

Zuvor habe ich Ihnen die Grundlagen der MySQL-Syntax vermittelt. In diesem Artikel werde ich den Lesern anhand des folgenden Beispiels die grundlegenden Syntaxkenntnisse anhand von echtem Code erklären.

Im Allgemeinen endet MySQL mit einem ;, um die Eingabe zu bestätigen und die Anweisung auszuführen. In einer gespeicherten Prozedur zeigt das ; jedoch nicht das Ende an. Daher können Sie mit diesem Befehl das ;-Zeichen in // ändern, um die Eingabe zu bestätigen und die Anweisung auszuführen. Eine gespeicherte Prozedur ist wie eine Programmiersprache und umfasst auch Datentypen, Flusssteuerung, Eingabe und Ausgabe und eine eigene Funktionsbibliothek.

1. Erstellen Sie eine gespeicherte Prozedur

1. Grundlegende Syntax:

Prozedur sp_name() erstellen
beginnen
.........
Ende

2. Parameterübergabe 2. Aufrufen gespeicherter Prozeduren

1. Grundlegende Syntax:

rufen Sie sp_name() auf

Hinweis: Nach dem Namen der gespeicherten Prozedur müssen Klammern hinzugefügt werden, auch wenn die gespeicherte Prozedur keine Parameter hat.

3. Löschen Sie die gespeicherte Prozedur

1. Grundlegende Syntax:

2. Hinweise
(1) Sie können innerhalb einer gespeicherten Prozedur keine andere gespeicherte Prozedur löschen. Sie können nur eine andere gespeicherte Prozedur aufrufen. 4. Blöcke, Bedingungen und Schleifen

1. Blockdefinition, häufig verwendet

beginnen
......
Ende;

Sie können Blöcken auch Aliase zuweisen, beispielsweise:

Bezeichnung: Beginn
...........
Endetikett;

Sie können das Label „Leave“ verwenden, um aus dem Block zu springen und den Code nach dem Block auszuführen.
2. Bedingte Anweisungen

wenn Bedingung dann
Stellungnahme
anders
Stellungnahme
Ende wenn;

3. Loop-Anweisung
(1).while-Schleife

[Bezeichnung:] WHILE Ausdruck DO

Aussagen

ENDE, WÄHREND [Bezeichnung];

(2) Schleife
[Bezeichnung:] LOOP

Aussagen

END LOOP [Bezeichnung];
(3).Wiederholen, bis die Schleife
[Beschriftung:] WIEDERHOLEN

Aussagen

UNTIL-Ausdruck

ENDE WIEDERHOLUNG [Bezeichnung];
5. Andere häufig verwendete Befehle

1.Verfahrensstatus anzeigen
Zeigt grundlegende Informationen zu allen gespeicherten Prozeduren in der Datenbank an, einschließlich der Datenbank, zu der sie gehören, dem Namen der gespeicherten Prozedur, der Erstellungszeit usw.
2.zeigen Sie die Erstellung der Prozedur sp_name
Detaillierte Informationen zu einer gespeicherten Prozedur anzeigen. Schauen wir uns ein Beispiel an. 1. Erstellen einer gespeicherten Prozedur in MySQL

"pr_add" ist eine einfache gespeicherte MySQL-Prozedur. Diese gespeicherte MySQL-Prozedur hat zwei Eingabeparameter vom Typ int "a" und "b" und gibt die Summe dieser beiden Parameter zurück.

Trennzeichen // -- Ändert das Trennzeichen

Prozedur löschen, falls vorhanden pr_add// -- Wenn diese gespeicherte Prozedur bereits erstellt wurde, löschen Sie sie

Berechnen Sie die Summe zweier Zahlen

Prozedur pr_add erstellen (a int, b int)
beginnen
Deklariere c int;
wenn a null ist, dann
setze a = 0;
Ende wenn;
wenn b null ist, dann
setze b = 0;
Ende wenn;
setze c = a + b;
wähle c als Summe;
Ende
//

2. Aufrufen von gespeicherten MySQL-Prozeduren

rufe pr_add(10, 20) auf;
Führen Sie die gespeicherte MySQL-Prozedur aus. Die Parameter der gespeicherten Prozedur sind MySQL-Benutzervariablen.

setze @a = 10;
setze @b = 20;
rufen Sie pr_add(@a, @b) auf;
3. Eigenschaften gespeicherter MySQL-Prozeduren

Die einfache Syntax zum Erstellen einer gespeicherten MySQL-Prozedur lautet:

Prozedur erstellen gespeicherte Prozedur Name()
(
[in|out|inout] Parameterdatentyp
)
beginnen
MySQL-Anweisungen;
Ende;
Wenn ein Parameter einer gespeicherten MySQL-Prozedur nicht explizit als „in“, „out“ oder „inout“ angegeben ist, ist der Standardwert „in“. Herkömmlicherweise geben wir keine „In“-Parameter explizit an.

1. Das „()“ nach dem Namen der MySQL-gespeicherten Prozedur ist erforderlich, auch wenn kein Parameter vorhanden ist.

2. Bei MySQL-gespeicherten Prozedurparametern können Sie vor dem Parameternamen kein „@“ hinzufügen, z. B. „@a int“. Die folgende Syntax zum Erstellen einer gespeicherten Prozedur ist in MySQL falsch (in SQL Server ist sie korrekt). Variablen in gespeicherten MySQL-Prozeduren müssen im Variablennamen nicht durch ein "@" eingeleitet werden, obwohl MySQL-Client-Benutzervariablen ein "@" vorangestellt werden müssen.

Prozedur pr_add erstellen
(
@a int, -- Fehler
b int -- richtig
)
3. In den Parametern gespeicherter MySQL-Prozeduren können keine Standardwerte angegeben werden.

4. Bei gespeicherten MySQL-Prozeduren ist vor dem Prozedurkörper kein „as“ erforderlich. Die gespeicherte SQL Server-Prozedur muss das Schlüsselwort „as“ enthalten.

Prozedur pr_add erstellen
(
eine Ganzzahl,
b int
)
as -- Falsch, MySQL erfordert kein "as"
beginnen
MySQL-Anweisung ...;
Ende;

5. Wenn die gespeicherte MySQL-Prozedur mehrere MySQL-Anweisungen enthält, sind die Schlüsselwörter „begin“ und „end“ erforderlich.

Prozedur pr_add erstellen
(
eine Ganzzahl,
b int
)
beginnen
MySQL-Anweisung 1 ...;
MySQL-Anweisung 2 ...;
Ende;

6. Fügen Sie am Ende jeder Anweisung in einer gespeicherten MySQL-Prozedur ein Semikolon ";" hinzu

...
Deklariere c int;
wenn a null ist, dann
setze a = 0;
Ende wenn;
...
Ende;

7. Kommentare in gespeicherten MySQL-Prozeduren.

declare c int; – Dies ist ein einzeiliger MySQL-Kommentar (beachten Sie, dass nach dem – mindestens ein Leerzeichen stehen muss).
if a is null then # Dies ist auch ein einzeiliger MySQL-Kommentar
setze a = 0;
Ende wenn;
...
Ende;
8. Sie können das Schlüsselwort „return“ nicht in gespeicherten MySQL-Prozeduren verwenden.

setze c = a + b;
wähle c als Summe;
Ende;
9. Wenn Sie eine gespeicherte MySQL-Prozedur aufrufen, müssen Sie nach dem Prozedurnamen "()" hinzufügen, auch wenn kein Parameter vorhanden ist.

rufen Sie pr_no_param() auf;
10. Da die Parameter gespeicherter MySQL-Prozeduren keine Standardwerte haben, können beim Aufrufen gespeicherter MySQL-Prozeduren keine Parameter weggelassen werden. Kann durch Null ersetzt werden.

Lassen Sie uns die oben genannten Wissenspunkte anhand eines Beispiels vertiefen:

1. Im Folgenden ist der Definitionsprozess einer gespeicherten Prozedur beschrieben:

Prozedur proc_name erstellen (im Parameter integer)
beginnen 
Deklariere die Variable varchar(20);
wenn Parameter=1, dann setze Variable='MySQL';
andernfalls setze die Variable „PHP“;
Ende
Wenn;
in tb (Name) Werte (Variable) einfügen;
Ende;

Die Erstellung einer gespeicherten Prozedur in MySQL beginnt mit dem Schlüsselwort „create procedure“, gefolgt vom Namen und den Parametern der gespeicherten Prozedur. Bei den Namen gespeicherter Prozeduren in MySQL wird die Groß- und Kleinschreibung nicht beachtet. Beispielsweise stellen PROCE1() und proce1() denselben Namen gespeicherter Prozeduren dar. Der Name der gespeicherten Prozedur darf nicht mit dem Namen der integrierten Funktion in der MySQL-Datenbank identisch sein.

Die Parameter einer gespeicherten Prozedur bestehen im Allgemeinen aus drei Teilen. Der erste Teil kann „in“, „out“ oder „inout“ sein. in bedeutet, Parameter an die gespeicherte Prozedur zu übergeben; out bedeutet, Parameter auszugeben; inout bedeutet, dass die definierten Parameter an die gespeicherte Prozedur übergeben und von der gespeicherten Prozedur geändert werden können, bevor sie aus der gespeicherten Prozedur ausgegeben werden. Die gespeicherte Prozedur übergibt standardmäßig Parameter, daher kann der Parameter in weggelassen werden. Der zweite Teil ist der Parametername. Der dritte Teil ist der Parametertyp, also alle in der MySQL-Datenbank verfügbaren Feldtypen. Wenn mehrere Parameter vorhanden sind, können die Parameter durch Kommas getrennt werden.

Der Anweisungsblock einer gespeicherten MySQL-Prozedur beginnt mit „begin“ und endet mit „end“. Der Anweisungshauptteil kann Variablendeklarationen, Steueranweisungen, SQL-Abfrageanweisungen usw. enthalten. Da die Anweisungen innerhalb der gespeicherten Prozedur mit einem Semikolon enden müssen, sollte das Anweisungsendezeichen ";" vor der Definition der gespeicherten Prozedur in ein anderes Zeichen geändert werden. Die Wahrscheinlichkeit, dass dieses Zeichen in der gespeicherten Prozedur vorkommt, sollte ebenfalls gering sein. Sie können das Schlüsselwort-Trennzeichen verwenden, um es zu ändern. Zum Beispiel:

mysql>Trennzeichen //

Nachdem eine gespeicherte Prozedur erstellt wurde, kann sie mit der folgenden Anweisung gelöscht werden, wobei sich der Parameter proc_name auf den Namen der gespeicherten Prozedur bezieht.

Löschprozedur proc_name

Implementierungsprozess

(1) MySQL-gespeicherte Prozeduren werden in der „Eingabeaufforderung“ erstellt, daher sollten Sie zuerst das Fenster „Eingabeaufforderung“ öffnen.
(2) Nachdem Sie das Fenster „Eingabeaufforderung“ aufgerufen haben, sollten Sie sich zunächst beim MySQL-Datenbankserver anmelden und den folgenden Befehl in die „Eingabeaufforderung“ eingeben:

mysql –u Benutzername –p Benutzerkennwort

(3) Ändern Sie das Anweisungsabschlusszeichen. In diesem Beispiel ändern Sie das Anweisungsabschlusszeichen in „//“. Der Code lautet wie folgt:

Trennzeichen //

(4) Bevor Sie eine gespeicherte Prozedur erstellen, sollten Sie zunächst eine Datenbank auswählen. Der Code lautet wie folgt:

Datenbanknamen verwenden

(5) Erstellen Sie eine gespeicherte Prozedur.
(6) Rufen Sie die gespeicherte Prozedur über die Call-Anweisung auf.

durch Analogie lernen

Test verwenden;
Tabelle Benutzer erstellen(
id mediumint(8) unsigned ungleich null auto_increment,
Name char(15) nicht null Standard ”,
pass char(32) nicht null Standard ”,
Hinweistext nicht null,
Primärschlüssel (ID)
)Engine=Innodb Zeichensatz=utf8;

Beispiel 1

Trennzeichen //
Prozedur proc_name erstellen (im Parameter integer)
beginnen
wenn Parameter=0 dann
Wählen Sie * aus der Benutzerreihenfolge nach ID aufsteigend;
anders
Wählen Sie * aus der Benutzerreihenfolge nach ID desc;
Ende wenn;
Ende;
//

Trennzeichen ;
Warnungen anzeigen;
rufe proc_name(1) auf;
rufe proc_name(0) auf;

Beispiel 2

Prozedur proc_name löschen;
Trennzeichen //
Prozedur proc_name erstellen (im Parameter integer)
beginnen
Deklariere die Variable varchar(20);
wenn Parameter=1 dann
Variable festlegen = "Windows";
anders
Variable festlegen='Linux';
Ende wenn;
Parameter auswählen;
Ende;
//

Trennzeichen ;
Warnungen anzeigen;
rufe proc_name(1) auf;
rufe proc_name(0) auf;

 Lösche die Drop-Prozedur proc_name;

Hinweise:

1. Verfahrensstatus anzeigen;
Zeigt grundlegende Informationen zu allen gespeicherten Prozeduren in der Datenbank an, einschließlich der Datenbank, zu der sie gehören, dem Namen der gespeicherten Prozedur, der Erstellungszeit usw.
2.zeigen Sie die Erstellung der Prozedur sp_name
Detaillierte Informationen zu einer gespeicherten Prozedur anzeigen

Dies ist der gesamte Inhalt dieses Artikels zur grundlegenden MySQL-Syntax. Wenn Sie ihn gut finden, teilen Sie ihn mit Ihren Freunden.

Das könnte Sie auch interessieren:
  • Der Unterschied zwischen gespeicherten Prozeduren und Transaktionen in MySQL-Datenbanken
  • Spezifische Schritte zum Ändern des Speicherorts der Mysql-Datenbank
  • Analyse des aktuellen Status von MySQL-Datenbankspeicher-Engines und -Zweigen
  • Mysq erklärt ausführlich, wie Inventar-Parallelitätsprobleme gelöst werden können

<<:  Kommunikation zwischen übergeordneten und untergeordneten Komponenten in Vue und Verwendung von Sync zum Synchronisieren der Daten übergeordneter und untergeordneter Komponenten

>>:  Spielen Sie mit der Connect-Funktion mit Timeout in Linux

Artikel empfehlen

So installieren Sie ElasticSearch auf Docker in einem Artikel

Inhaltsverzeichnis Vorwort 1. Docker installieren...

So behandeln Sie den vom Linux-System gemeldeten Fehler tcp_mark_head_lost

Problembeschreibung Kürzlich meldete ein Host die...

Bedeutung und Verwendung einer Linux-CD

Was bedeutet Linux-CD? Unter Linux bedeutet cd „V...

Erstellen Sie Schritt für Schritt ein Dateiverwaltungssystem mit nginx+FastDFS

Inhaltsverzeichnis 1. Einführung in FastDFS 1. Ei...

MySQL Series II-Konfiguration für mehrere Instanzen

Tutorial-Reihe MySQL-Reihe: Grundlegende Konzepte...

Docker-Fallanalyse: Erstellen eines Redis-Dienstes

Inhaltsverzeichnis 1 Mount-Verzeichnisse und Date...

Webdesign-Tutorial (4): Über Materialien und Ausdrücke

<br />Vorheriges Webdesign-Tutorial: Webdesi...

XHTML verwendet einige veraltete Elemente in HTML nicht mehr

Wenn wir CSS-Webseitenlayouts erstellen, wissen wi...

So verwenden Sie das Videowiedergabe-Plugin DPlayer.js

Das Videoplayer-Plugin DPlayer.js ist einfach zu ...

So führen Sie den sudo-Befehl aus, ohne in Linux ein Passwort einzugeben

Mit dem Befehl „sudo“ kann ein vertrauenswürdiger...

MySQL 8.0.16 Installations- und Konfigurations-Tutorial unter Windows 10

In diesem Artikel finden Sie das grafische Tutori...

Erfahren Sie mehr über die MySQL-Speicher-Engine

Inhaltsverzeichnis Vorwort 1. MySQL-Hauptspeicher...

CSS- und HTML- und Front-End-Technologie-Schichtendiagramm

Front-End-Technologieschicht (Das Bild ist etwas e...

Vue implementiert das Umschalten des Anmeldetyps

In diesem Artikelbeispiel wird der spezifische Co...