Heim > Datenbank > MySQL-Tutorial > Was ist der Unterschied zwischen benutzerdefinierten, lokalen und Systemvariablen in MySQL?

Was ist der Unterschied zwischen benutzerdefinierten, lokalen und Systemvariablen in MySQL?

Linda Hamilton
Freigeben: 2025-01-22 03:11:10
Original
747 Leute haben es durchsucht

What's the Difference Between User-Defined, Local, and System Variables in MySQL?

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage