Detaillierte Erklärung der Definition und Funktion von Trennzeichen in MySQL

Detaillierte Erklärung der Definition und Funktion von Trennzeichen in MySQL

Wenn Sie MySQL zum ersten Mal lernen, verstehen Sie möglicherweise nicht den eigentlichen Zweck von Trennzeichen. Trennzeichen kommen in MySQL an vielen Stellen vor, z. B. in gespeicherten Prozeduren, Triggern, Funktionen usw.

Leute, die Oracle gelernt haben, werden das Erlernen von MySQL sehr seltsam und verwirrend finden.

Tatsächlich teilt es dem MySQL-Interpreter mit, ob der Befehl beendet ist und ob MySQL ihn ausführen kann.

Standardmäßig ist das Trennzeichen ein Semikolon (;).

Wenn im Befehlszeilenclient eine Befehlszeile mit einem Semikolon endet, führt MySQL den Befehl nach dem Drücken der Eingabetaste aus. Wenn Sie die folgende Anweisung eingeben

mysql> select * from test_table;

Drücken Sie dann die Eingabetaste und MySQL führt die Anweisung sofort aus.

Aber manchmal möchten Sie nicht, dass MySQL dies tut. Sie können weitere Anweisungen eingeben und die Anweisungen können Semikolons enthalten.

Wenn Sie versuchen, die folgende Anweisung im Befehlszeilen-Client einzugeben

mysql> FUNKTION „SHORTEN“ ERSTELLEN (S VARCHAR(255), N INT)
mysql> gibt varchar(255) zurück
mysql> ANFANG
mysql> WENN ISNULL(S) DANN
mysql> <strong>RÜCKGABE ''; </strong>
mysql> SONST WENN N < 15 DANN
mysql> RÜCKGABE LINKS(S, N);
mysql> SONST
mysql> WENN CHAR_LENGTH(S) <= N DANN
mysql> RETURN S;
mysql> SONST
mysql> RETURN CONCAT(LINKS(S, N-10), '...', RECHTS(S, 5));
mysql> ENDE WENN;
mysql> ENDE WENN;
mysql> ENDE;

Standardmäßig ist es nicht möglich, zu warten, bis der Benutzer alle Anweisungen eingegeben hat, bevor die gesamte Anweisung ausgeführt wird.

Weil MySQL automatisch ausgeführt wird, sobald es auf ein Semikolon stößt.

Das heißt, wenn die Anweisung RETURN ''; ausgeführt wird, wird der MySQL-Interpreter ausgeführt.

In diesem Fall müssen Sie das Trennzeichen vorab durch andere Symbole wie // oder $$ ersetzen.

mysql> Trennzeichen //
mysql> FUNKTION „SHORTEN“ ERSTELLEN (S VARCHAR(255), N INT)
mysql> gibt varchar(255) zurück
mysql> ANFANG
mysql> WENN ISNULL(S) DANN
mysql> RÜCKGABE '';
mysql> SONST WENN N < 15 DANN
mysql> RÜCKGABE LINKS(S, N);
mysql> SONST
mysql> WENN CHAR_LENGTH(S) <= N DANN
mysql> RETURN S;
mysql> SONST
mysql> RETURN CONCAT(LINKS(S, N-10), '...', RECHTS(S, 5));
mysql> ENDE WENN;
mysql> ENDE WENN;
mysql> ENDE;//

Auf diese Weise führt der MySQL-Interpreter diese Anweisung nur aus, wenn // erscheint.

Außerdem. Beim MySQL-Speichervorgang ist Folgendes zu beachten:

VERFAHREN löschen, wenn proc_while_test EXISTIERT;
Trennzeichen;;
DEFINER ERSTELLEN = root@localhost VERFAHREN proc_while_test(IN n int)
BEGINNEN 
  DECLARE ich int;
  DECLARE s int;
 Setze i = 0;
  Setze s = 0;
  WÄHREND ich <= n DO
    SETZE s = s + i; setze i++;
    setze i = i + 1;
  Ende WÄHREND;
  wähle s;
Ende
;;
Trennzeichen ;

Im obigen Beispiel führt set i++; dazu, dass die gesamte While-Schleife einen Fehler meldet. In gespeicherten MySQL-Prozeduren darf i++ nicht auf diese Weise geschrieben werden. Es muss in der Form i=i+1 geschrieben werden.

Ergänzung: Werfen wir einen Blick auf die Rolle des Trennzeichens in MySQL

1. Trennzeichen

Trennzeichen ist das MySQL-Trennzeichen. Das Standardtrennzeichen im MySQL-Client ist ein Semikolon (;).
Wenn Sie mehrere Anweisungen gleichzeitig eingeben und sich in der Mitte der Anweisungen Semikolons befinden, müssen Sie ein spezielles Trennzeichen angeben.

2. Verwendung von Trennzeichen

Im vorherigen Artikel gibt es ein Beispiel zum Einrichten eines MySQL-Triggers.

mysql> Trennzeichen // 
mysql> Trigger upd_check erstellen vor Update auf Konto  
  -> für jede Zeile 
  -> beginnen 
  -> wenn neuer Betrag < 0 dann 
  -> setze neuen Betrag auf 0; 
  -> sonst, wenn neuer Betrag > 100, dann 
  -> setze neuen Betrag = 100; 
  -> Ende, wenn; 
  -> Ende; 
  -> // 
Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) 
mysql> Trennzeichen;

Das obige ist, zuerst das Trennzeichen auf // setzen,

Die Anweisung wird erst als Ganzes ausgeführt, wenn die nächste // gefunden wird.

Nach der Ausführung setzt die letzte Zeile, delimiter;, das MySQL-Trennzeichen auf ein Semikolon zurück.

Wenn nicht geändert, basieren alle Trennzeichen in dieser Sitzung auf //.

Zusammenfassen

Oben finden Sie eine ausführliche Erklärung zur Rolle des Trennzeichens in MySQL. Ich hoffe, dass es für alle hilfreich ist. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten!

Das könnte Sie auch interessieren:
  • Welche Rolle spielt das MySql-Trennzeichen?

<<:  js zur Implementierung eines Web-Rechners

>>:  Detailliertes Tutorial zur Installation und Konfiguration von Nginx unter Centos7

Artikel empfehlen

Detaillierte Erklärung der Rolle statischer Variablen in MySQL

Detaillierte Erklärung der Rolle statischer Varia...

Designtheorie: Zehn Tipps zur Inhaltspräsentation

<br /> Der Entwurf einer persönlichen Schrei...

W3C Tutorial (9): W3C XPath Aktivitäten

XPath ist eine Sprache zum Auswählen von Teilen v...

Studiennotizen zur MySQL Master-Slave-Konfiguration

● Ich hatte vor, einige Cloud-Daten zu kaufen, um...

Vue3 basierend auf der Skript-Setup-Syntax $refs-Verwendung

Inhaltsverzeichnis 1. Vue2-Syntax 2. Nutzung von ...

Detaillierter Installationsprozess der MySQL 8.0 Windows-ZIP-Paketversion

Der Installationsprozess von MySQL 8.0 Windows Zi...

Detaillierte Erklärung der mysql.user-Benutzertabelle in Mysql

MySQL ist eine von mehreren Benutzern verwaltete ...

Detaillierte Erklärung der HTML-Formularelemente (Teil 2)

HTML-Eingabeattribute Das Value-Attribut Das Valu...

Javascript zum Umschalten durch Klicken auf das Bild

Durch Klicken Bilder zu wechseln, ist im Leben ei...