Maison >base de données >tutoriel mysql >Comment déclarer et utiliser des variables système définies par l'utilisateur, locales et serveur dans MySQL ?

Comment déclarer et utiliser des variables système définies par l'utilisateur, locales et serveur dans MySQL ?

DDD
DDDoriginal
2025-01-22 03:26:15857parcourir

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

Explication détaillée et application des variables MySQL

Les variables dans MySQL sont des conteneurs qui stockent temporairement des valeurs pendant la durée de l'exécution de la requête. Il existe trois types principaux : les variables définies par l'utilisateur, les variables locales et les variables système du serveur.

Variables définies par l'utilisateur (@ préfixe)

  • Déclaration : Aucune déclaration explicite requise
  • Valeur initiale : NULL
  • Type de données : entier, décimal, virgule flottante, chaîne ou NULL
  • Portée : niveau session

Initialiser les variables définies par l'utilisateur :

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

Exemple : Utilisation de variables définies par l'utilisateur dans une requête SELECT

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

Variables locales (sans préfixe)

  • Déclaration : besoin d'utiliser l'instruction DECLARE
  • Valeur initiale : NULL si la clause DEFAULT est omise
  • Type de données : entier, décimal, chaîne ou NULL
  • Portée : limitée au bloc BEGIN...END dans lequel ils sont déclarés

Déclarer et initialiser les variables locales dans les procédures stockées :

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

Exemple : Utilisation de variables locales dans des procédures stockées

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

Variables système du serveur (@préfixe @)

  • Déclaration : Aucune déclaration explicite requise
  • Valeur initiale : valeur par défaut définie par le serveur MySQL
  • Type de données : dépend de la variable
  • Portée : globale (à l'échelle du serveur) ou au niveau de la session

Afficher les valeurs actuelles des variables système du serveur :

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

Modifiez la valeur de la variable système du serveur :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn