Heim >Datenbank >MySQL-Tutorial >Wie deklariere und verwende ich benutzerdefinierte, lokale und Serversystemvariablen in MySQL?

Wie deklariere und verwende ich benutzerdefinierte, lokale und Serversystemvariablen in MySQL?

DDD
DDDOriginal
2025-01-22 03:26:15880Durchsuche

How to Declare and Use User-Defined, Local, and Server System Variables in MySQL?

Detaillierte Erklärung und Anwendung von MySQL-Variablen

Variablen in MySQL sind Container, die vorübergehend Werte für die Dauer der Abfrageausführung speichern. Es gibt drei Haupttypen: benutzerdefinierte Variablen, lokale Variablen und Serversystemvariablen.

Benutzerdefinierte Variablen (@ Präfix)

  • Erklärung: Keine explizite Erklärung erforderlich
  • Anfangswert: NULL
  • Datentyp: Ganzzahl, Dezimalzahl, Gleitkomma, Zeichenfolge oder NULL
  • Geltungsbereich: Sitzungsebene

Benutzerdefinierte Variablen initialisieren:

<code class="language-sql">SET @start = 1, @finish = 10;</code>

Beispiel: Verwendung benutzerdefinierter Variablen in einer SELECT-Abfrage

<code class="language-sql">SELECT * FROM places WHERE place BETWEEN @start AND @finish;</code>

Lokale Variablen (kein Präfix)

  • Anweisung: DECLARE-Anweisung muss verwendet werden
  • Anfangswert: NULL, wenn die DEFAULT-Klausel weggelassen wird
  • Datentyp: Ganzzahl, Dezimalzahl, Zeichenfolge oder NULL
  • Geltungsbereich: beschränkt auf den BEGIN...END-Block, in dem sie deklariert sind

Lokale Variablen in gespeicherten Prozeduren deklarieren und initialisieren:

<code class="language-sql">DECLARE start INT unsigned DEFAULT 1;  
DECLARE finish INT unsigned DEFAULT 10;</code>

Beispiel: Verwendung lokaler Variablen in gespeicherten Prozeduren

<code class="language-sql">CREATE PROCEDURE sp_test(var1 INT) 
BEGIN   
    DECLARE start  INT unsigned DEFAULT 1;  
    DECLARE finish INT unsigned DEFAULT 10;

    SELECT  var1, start, finish;

    SELECT * FROM places WHERE place BETWEEN start AND finish; 
END; </code>

Serversystemvariablen (@@ Präfix)

  • Erklärung: Keine explizite Erklärung erforderlich
  • Anfangswert: Vom MySQL-Server festgelegter Standardwert
  • Datentyp: abhängig von der Variablen
  • Geltungsbereich: global (serverweit) oder Sitzungsebene

Sehen Sie sich die aktuellen Werte der Serversystemvariablen an:

<code class="language-sql">SELECT @@sort_buffer_size;</code>

Ändern Sie den Wert der Serversystemvariablen:

<code class="language-sql">SET GLOBAL sort_buffer_size=1000000;</code>

Das obige ist der detaillierte Inhalt vonWie deklariere und verwende ich benutzerdefinierte, lokale und Serversystemvariablen in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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