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
Libérer: 2025-01-22 03:26:15
original
826 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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

<code class="language-sql">SET GLOBAL sort_buffer_size=1000000;</code>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal