Maison > base de données > tutoriel mysql > Quelle est la différence entre les variables définies par l'utilisateur, locales et système dans MySQL ?

Quelle est la différence entre les variables définies par l'utilisateur, locales et système dans MySQL ?

Linda Hamilton
Libérer: 2025-01-22 03:11:10
original
748 Les gens l'ont consulté

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

Déclaration et utilisation des variables MySQL

Dans MySQL, afin d'utiliser des variables dans la deuxième requête, elles doivent d'abord être déclarées et initialisées.

Variables définies par l'utilisateur (commençant par @)

  • Aucune déclaration requise.
  • Accessible directement sans déclaration ni initialisation préalable.
  • La valeur est NULL lorsqu'elle n'est pas initialisée et le type de données est une chaîne.
  • Utilisez l'instruction SET ou SELECT pour l'initialisation.
  • Spécifique à la session (ne peut pas être consulté ou utilisé par d'autres clients).
  • Par exemple :
    <code class="language-sql">SET @start = 1, @finish = 10;
    SELECT * FROM places WHERE place BETWEEN @start AND @finish;</code>
    Copier après la connexion

Variables locales (sans préfixe)

  • Nécessite l'instruction DECLARE.
  • est utilisé comme paramètre d'entrée ou variable locale dans une procédure stockée.
  • Par exemple :
    <code class="language-sql">DECLARE start INT unsigned DEFAULT 1;
    DECLARE finish INT unsigned DEFAULT 10;</code>
    Copier après la connexion
  • Si la clause DEFAULT est manquante, la valeur initiale est NULL.
  • La portée est limitée au bloc BEGIN...END dans lequel ils sont déclarés.

Variables système du serveur (commençant par @@)

  • Variables système gérées par le serveur MySQL.
  • Peut être GLOBAL (global), SESSION (session) ou BOTH (les deux).
  • Affecte les opérations du serveur (GLOBAL) ou les connexions client individuelles (SESSION).
  • Utilisez SHOW VARIABLES ou SELECT @@var_name pour afficher.
  • Utilisez SET GLOBAL ou SET SESSION pour modifier dynamiquement.
  • Par exemple :
    <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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal