


Quels types de variables possèdent les procédures stockées MySQL ?
Types de variables de procédures stockées MySQL : 1. Variables locales, la syntaxe de définition est "DECLARE nom de variable type de données" ; 2. Variables utilisateur, la syntaxe de définition est "set @variable name:=..." ; variables, il peut être divisé en variable globale "@@global" et variable de session "@@session".
L'environnement d'exploitation de ce tutoriel : système windows10, version mysql8.0.22, ordinateur Dell G3.
Quels sont les types de variables des procédures stockées MySQL ?
Variables courantes dans les procédures stockées MySQL : variables locales, variables utilisateur, variables système
1. Variables locales
Dans le corps du processus, vous pouvez déclarer des variables locales pour une utilisation temporaire Enregistrez certaines valeurs.
1. Définissez la syntaxe des variables locales :
DECLARE var_name[, var_name] ... type [DEFAULT value];
Parmi eux, le type est le type de données MySQL, tel que : int, float, date, varchar(length)
Remarque :
①DECLARE est utilisé pour déclarer des variables locales, et DECLARE n'est utilisé que par Utilisé dans les instructions composées BEGIN ... END et doit se trouver au début de l'instruction composée, avant que toute autre instruction puisse être utilisée dans des blocs imbriqués, à l'exception de celles qui déclarent des variables portant le même nom.
② Si vous souhaitez fournir une valeur par défaut pour une variable, utilisez la clause DEFAULT (la valeur peut être une constante ou spécifiée sous forme d'expression) ; s'il n'y a pas de clause DEFAULT, la valeur initiale est NULL.
2. Format de base :
CREATE PROCEDURE sp_name ([proc_parameter[,...]]) BEGIN DECLARE var_name1 type [DEFAULT value]; DECLARE var_name2 type [DEFAULT value]; DECLARE……; [characteristic ...];
Exemple 1 : Créez un processus, spécifiez une valeur par défaut pour les variables locales et appelez le processus
mysql>delimiter $$ mysql> create procedure test1(out num1 int)->begin-> declare num2 int default 100;-> set num1=num2;->end->$$ mysql>delimiter ; mysql>call test1(@num); mysql> select@num;+------+ | @num | +------+ | 100 | +------+
Analyse :
Créez une procédure stockée test1 : la sortie est la valeur de la variable num1 , déclarez que la variable locale Num2 est de type int et que la valeur par défaut est 100. Utilisez set pour attribuer la valeur de num2 (si elle n'est pas traitée, la valeur par défaut) à num1
Appelez test1 : utilisez la variable utilisateur num pour recevoir le valeur de sortie num1 de la procédure stockée...
Default En plus des littéraux, les valeurs peuvent également être des expressions complexes, y compris des sous-requêtes scalaires
Exemple 2 : Processus de création, utilisant le nombre de tous les joueurs pour initialiser une variable
mysql>delimiter $$ mysql> create procedure test2(out num1 int)->begin-> declare num2 int default(select count(*) fromPLAYERS);-> set num1=num2;->end$$mysql>delimiter ; mysql>call test2(@num);mysql> select@num;+------+ | @num | +------+ | 14 | +------+
Remarque : MySQL ne prend pas en charge les tableaux en tant que variables locales.
3. La portée des variables locales :
C'est-à-dire la portée du bloc de programme où la variable peut être utilisée normalement sans erreur.
Dans le cas de blocs imbriqués,
les variables déclarées dans le bloc externe peuvent être utilisées directement dans le bloc interne ;
les variables déclarées dans le bloc interne ne peuvent être utilisées que dans le bloc interne ;
Analyse : La variable v2 ne peut être utilisée que dans le bloc interne b2. L'instruction set et la dernière instruction set du bloc b3 sont fausses.
2. Variables utilisateur
> Les variables déclarées dans cette connexion ne peuvent pas être utilisées dans une autre connexion utilisée.
> Un symbole @ représente une variable utilisateur.
1. Définition des variables utilisateur (set, select) :
1) L'instruction set attribue des valeurs aux variables utilisateur :
Vous pouvez utiliser "=" ou ":=" comme allocateur
expr attribué ; à chaque variable Il peut s'agir d'un entier, d'un nombre réel, d'une chaîne ou d'une valeur NULL ;
mysql> set @zjc:=999; mysql> select@zjc;+------+ | @zjc | +------+ | 999 | +------+
2) L'instruction select attribue des valeurs aux variables utilisateur :
Le caractère d'allocation doit être ":=" au lieu de " =", car = est pris en compte dans les instructions non-SET. C'est un opérateur de comparaison ;
mysql> select @abc:=123;+-----------+ | @abc:=123 | +-----------+ | 123 | +-----------+mysql> select@abc;+------+ | @abc | +------+ | 123 | +------+
Remarque :
① Les variables utilisateur peuvent être définies et utilisées n'importe où ; elles peuvent être utilisées directement si elles ne sont pas définies (la valeur par défaut est null) .
②Le format du nom de variable des variables utilisateur : @var_name, avec le symbole @.
③L'abus des variables utilisateur rendra le programme difficile à comprendre et à gérer.
Affectation de variable étendue : définir la syntaxe
Les variables dans MySQL ne limitent pas strictement les types de données. Le type de données d'une variable change à tout moment en fonction de la valeur attribuée à la variable.
SET variable_assignment [, variable_assignment] ... variable_assignment: user_var_name=expr|[GLOBAL | SESSION] system_var_name =expr|[@@global. | @@session. | @@] system_var_name = expr
## est utilisé pour attribuer des valeurs aux variables utilisateur, aux variables système, et peut également attribuer des valeurs aux variables locales dans le processus.
Remarque : lorsque
définissez des variables système, il n'y a pas de modification de portée et la valeur par défaut fait référence à la portée de la session ;
(Remarque spéciale, certaines variables système n'ont pas de modification de portée et ne peuvent pas être définies, il est donc préférable de apportez-les avec les variables système définies par la portée).
2. Portée des variables utilisateur
Tant que les variables utilisateur définies dans la connexion actuelle sont utilisées dans la connexion actuelle, c'est OK, mais rien d'autre.
3. Différence avec les variables locales :
Les variables locales n'ont que des noms de variables et pas de symbole @ ; les noms de variables utilisateur ont un symbole @ devant eux.
Ils sont tous définis d'abord puis utilisés ; pour les variables non définies, la valeur de sélection est vide.
Les variables locales ne sont utilisées qu'à l'intérieur de la procédure stockée et n'ont aucune signification en dehors du processus. Lorsque le bloc début-fin est traité, les variables locales disparaissent tandis que les variables utilisateur peuvent être utilisées à l'intérieur et à l'extérieur de la procédure stockée.
Conseils : dans la procédure stockée, utilisez des variables locales, n'utilisez pas de variables utilisateur.
3. Les variables utilisateur et les variables système des variables MySQL
1. Les variables utilisateur sont comme mentionné ci-dessus @var_name (un symbole @)
①Les variables utilisateur sont liées à la connexion à la base de données. .Une fois la connexion déconnectée, disparaît automatiquement ;
②Sélectionnez une variable utilisateur sans affectation et renvoyez NULL, ce qui signifie qu'il n'y a pas de valeur ;
Les variables MySQL sont similaires aux langages dynamiques. La valeur de la variable change en fonction du type de valeur à attribuer.
2. Variables système : selon la portée des variables système, elles sont divisées en : variables globales et variables de session (deux symboles @)
①Variables globales (@@global.)
Lorsque MySQL démarre, le serveur change automatiquement les variables globales Les variables sont initialisées aux valeurs par défaut ;
Les valeurs par défaut des variables globales peuvent être modifiées en modifiant le fichier de configuration MySQL (my.ini, my.cnf).
②Variables de session (@@session.)
Chaque fois qu'une nouvelle connexion est établie, elle est initialisée par MySQL ;
MYSQL copiera les valeurs de toutes les variables globales actuelles en tant que variables de session (c'est également pour par exemple, si les valeurs des variables de session et des variables globales ne sont pas modifiées manuellement après l'établissement de la session, les valeurs de toutes ces variables seront les mêmes).
#La différence entre les variables globales et les variables de session : Les modifications des variables globales affecteront l'ensemble du serveur, mais les modifications des variables de session n'affecteront que la session en cours.
Apprentissage recommandé : Tutoriel vidéo mysql
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Dans la base de données MySQL, la relation entre l'utilisateur et la base de données est définie par les autorisations et les tables. L'utilisateur a un nom d'utilisateur et un mot de passe pour accéder à la base de données. Les autorisations sont accordées par la commande Grant, tandis que le tableau est créé par la commande Create Table. Pour établir une relation entre un utilisateur et une base de données, vous devez créer une base de données, créer un utilisateur, puis accorder des autorisations.

MySQL a une version communautaire gratuite et une version d'entreprise payante. La version communautaire peut être utilisée et modifiée gratuitement, mais le support est limité et convient aux applications avec des exigences de stabilité faibles et des capacités techniques solides. L'Enterprise Edition fournit une prise en charge commerciale complète pour les applications qui nécessitent une base de données stable, fiable et haute performance et disposées à payer pour le soutien. Les facteurs pris en compte lors du choix d'une version comprennent la criticité des applications, la budgétisation et les compétences techniques. Il n'y a pas d'option parfaite, seulement l'option la plus appropriée, et vous devez choisir soigneusement en fonction de la situation spécifique.

Simplification de l'intégration des données: AmazonrDSMysQL et l'intégration Zero ETL de Redshift, l'intégration des données est au cœur d'une organisation basée sur les données. Les processus traditionnels ETL (extrait, converti, charge) sont complexes et prennent du temps, en particulier lors de l'intégration de bases de données (telles que AmazonrDSMysQL) avec des entrepôts de données (tels que Redshift). Cependant, AWS fournit des solutions d'intégration ETL Zero qui ont complètement changé cette situation, fournissant une solution simplifiée et à temps proche pour la migration des données de RDSMySQL à Redshift. Cet article plongera dans l'intégration RDSMYSQL ZERO ETL avec Redshift, expliquant comment il fonctionne et les avantages qu'il apporte aux ingénieurs de données et aux développeurs.

Pour remplir le nom d'utilisateur et le mot de passe MySQL: 1. Déterminez le nom d'utilisateur et le mot de passe; 2. Connectez-vous à la base de données; 3. Utilisez le nom d'utilisateur et le mot de passe pour exécuter des requêtes et des commandes.

1. Utilisez l'index correct pour accélérer la récupération des données en réduisant la quantité de données numérisées SELECT * FROMMLOYEESEESHWHERELAST_NAME = 'SMITH'; Si vous recherchez plusieurs fois une colonne d'une table, créez un index pour cette colonne. If you or your app needs data from multiple columns according to the criteria, create a composite index 2. Avoid select * only those required columns, if you select all unwanted columns, this will only consume more server memory and cause the server to slow down at high load or frequency times For example, your table contains columns such as created_at and updated_at and timestamps, and then avoid selecting * because they do not require inefficient query se

Guide d'optimisation des performances de la base de données MySQL dans les applications à forte intensité de ressources, la base de données MySQL joue un rôle crucial et est responsable de la gestion des transactions massives. Cependant, à mesure que l'échelle de l'application se développe, les goulots d'étranglement des performances de la base de données deviennent souvent une contrainte. Cet article explorera une série de stratégies efficaces d'optimisation des performances MySQL pour garantir que votre application reste efficace et réactive dans des charges élevées. Nous combinerons des cas réels pour expliquer les technologies clés approfondies telles que l'indexation, l'optimisation des requêtes, la conception de la base de données et la mise en cache. 1. La conception de l'architecture de la base de données et l'architecture optimisée de la base de données sont la pierre angulaire de l'optimisation des performances MySQL. Voici quelques principes de base: sélectionner le bon type de données et sélectionner le plus petit type de données qui répond aux besoins peut non seulement économiser un espace de stockage, mais également améliorer la vitesse de traitement des données.

Copier et coller dans MySQL incluent les étapes suivantes: Sélectionnez les données, copiez avec Ctrl C (Windows) ou CMD C (Mac); Cliquez avec le bouton droit à l'emplacement cible, sélectionnez Coller ou utilisez Ctrl V (Windows) ou CMD V (Mac); Les données copiées sont insérées dans l'emplacement cible ou remplacer les données existantes (selon que les données existent déjà à l'emplacement cible).

Une explication détaillée des attributs d'acide de base de données Les attributs acides sont un ensemble de règles pour garantir la fiabilité et la cohérence des transactions de base de données. Ils définissent comment les systèmes de bases de données gérent les transactions et garantissent l'intégrité et la précision des données même en cas de plantages système, d'interruptions d'alimentation ou de plusieurs utilisateurs d'accès simultanément. Présentation de l'attribut acide Atomicité: une transaction est considérée comme une unité indivisible. Toute pièce échoue, la transaction entière est reculée et la base de données ne conserve aucune modification. Par exemple, si un transfert bancaire est déduit d'un compte mais pas augmenté à un autre, toute l'opération est révoquée. BeginTransaction; UpdateAccountSsetBalance = Balance-100Wh
