Deklaration und Verwendung von MySQL-Variablen
Um in MySQL Variablen in der zweiten Abfrage verwenden zu können, müssen diese zuerst deklariert und initialisiert werden.
Benutzerdefinierte Variablen (beginnend mit @)
- Keine Deklaration erforderlich.
- Kann ohne vorherige Deklaration oder Initialisierung direkt aufgerufen werden.
- Der Wert ist NULL, wenn er nicht initialisiert ist, und der Datentyp ist eine Zeichenfolge.
- Verwenden Sie zur Initialisierung die SET- oder SELECT-Anweisung.
- Sitzungsspezifisch (kann nicht von anderen Kunden angezeigt oder verwendet werden).
- Zum Beispiel:
<code class="language-sql">SET @start = 1, @finish = 10;
SELECT * FROM places WHERE place BETWEEN @start AND @finish;</code>
Nach dem Login kopieren
Lokale Variablen (kein Präfix)
- Erfordert die DECLARE-Anweisung.
- wird als Eingabeparameter oder lokale Variable in einer gespeicherten Prozedur verwendet.
- Zum Beispiel:
<code class="language-sql">DECLARE start INT unsigned DEFAULT 1;
DECLARE finish INT unsigned DEFAULT 10;</code>
Nach dem Login kopieren
- Wenn die DEFAULT-Klausel fehlt, ist der Anfangswert NULL.
- Der Gültigkeitsbereich ist auf den BEGIN...END-Block beschränkt, in dem sie deklariert sind.
Serversystemvariablen (beginnend mit @@)
- Vom MySQL-Server verwaltete Systemvariablen.
- Kann GLOBAL (global), SESSION (Sitzung) oder BOTH (beide) sein.
- Wirkt sich auf Servervorgänge (GLOBAL) oder einzelne Clientverbindungen (SESSION) aus.
- Verwenden Sie SHOW VARIABLES oder SELECT @@var_name zum Anzeigen.
- Verwenden Sie SET GLOBAL oder SET SESSION, um dynamisch zu ändern.
- Zum Beispiel:
<code class="language-sql">SET GLOBAL sort_buffer_size=1000000;</code>
Nach dem Login kopieren
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen benutzerdefinierten, lokalen und Systemvariablen in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!