Maison  >  Article  >  base de données  >  Création d'une procédure stockée MySQL

Création d'une procédure stockée MySQL

王林
王林original
2023-05-08 21:50:374360parcourir

La procédure stockée MySQL est une fonctionnalité importante de MySQL. Elle peut encapsuler un ensemble d'instructions SQL dans une unité et peut être utilisée pour effectuer certaines opérations et traitements de logique métier.

Les procédures stockées peuvent accéder aux données de la base de données, utiliser des instructions SQL pour le contrôle des processus, utiliser des instructions conditionnelles pour gérer les erreurs, et bien plus encore. L'utilisation de procédures stockées peut simplifier le processus de développement et de maintenance des applications de base de données et améliorer la réutilisabilité et la maintenabilité du programme.

Cet article présentera les concepts de base, les méthodes de création, les structures syntaxiques et des exemples d'applications de procédures stockées.

1. Concept de base

  1. Qu'est-ce qu'une procédure stockée ?

Une procédure stockée est un ensemble d'instructions SQL qui peuvent être stockées dans une base de données MySQL. Lorsque ces instructions SQL doivent être exécutées, la procédure stockée peut être appelée.

  1. Quel est le rôle des procédures stockées ?

La procédure stockée peut encapsuler un ensemble d'instructions SQL couramment utilisées dans une unité Lorsque vous l'utilisez, il vous suffit d'appeler cette unité, ce qui peut améliorer les performances, la sécurité et la maintenabilité de la base de données.

  1. Quels sont les avantages des procédures stockées ?

(1) Excellentes performances : étant donné que la procédure stockée est exécutée côté serveur, elle peut réduire le temps de transmission réseau et de traitement des données et améliorer les performances de la base de données.

(2) Sûr et fiable : les procédures stockées peuvent être gérées en toute sécurité grâce au contrôle des autorisations, qui peut empêcher les utilisateurs non autorisés d'accéder et de modifier la base de données.

(3) Haute maintenabilité : l'encapsulation des instructions SQL fréquemment utilisées dans des procédures stockées peut améliorer la réutilisabilité du code et réduire la difficulté de développement et de maintenance du programme.

2. Méthode de création

Créer une procédure stockée dans MySQL est relativement simple. Il vous suffit de saisir l'instruction CREATE PROCEDURE sur le client MySQL.

CREATE PROCEDURE nom de la procédure stockée (liste de paramètres)
BEGIN

 SQL语句; 

END;

CREATE : mot-clé pour créer une instruction.

PROCEDURE : Indique que l'objet à créer est une procédure stockée.

Nom de la procédure stockée : Le nom de la procédure stockée créée.

Liste des paramètres : la liste des paramètres de la procédure stockée. Les paramètres peuvent être des paramètres d’entrée, des paramètres de sortie ou un mélange de paramètres d’entrée et de sortie.

BEGIN et END : BEGIN et END sont utilisés pour définir le corps de la procédure stockée. Entre BEGIN et END, vous pouvez définir un ensemble d'instructions SQL pour implémenter les opérations et la logique métier de la procédure stockée.

3. Structure syntaxique

Dans l'exemple ci-dessus, nous avons introduit la structure syntaxique de base de la procédure stockée. Outre l'instruction CREATE PROCEDURE, les procédures stockées contiennent les instructions et composants suivants.

  1. Liste des paramètres

Lors de la création d'une procédure stockée, vous pouvez spécifier zéro ou plusieurs paramètres pour transmettre des données à la procédure stockée. Les paramètres des procédures stockées peuvent être divisés en trois catégories.

(1) Paramètres d'entrée : utilisés pour transmettre des données à la procédure stockée, qui peuvent uniquement être lues et ne peuvent pas être modifiées dans la procédure stockée.

(2) Paramètres de sortie : utilisés pour renvoyer les données de la procédure stockée. Une fois la procédure stockée exécutée, les données peuvent être transmises à l'appelant.

(3) Paramètres d'entrée/sortie : les données peuvent être transmises en tant que paramètres d'entrée, ou les résultats du traitement peuvent être renvoyés à l'appelant en tant que paramètres de sortie.

Lors de la création d'une procédure stockée, vous devez définir le type de paramètre à l'aide du nom du paramètre, du type de paramètre et du modificateur de paramètre.

  1. Variables

Dans une procédure stockée, vous pouvez définir des variables locales ou des variables globales pour stocker des données temporaires ou des résultats de calcul.

Format de définition de variable :

Type de données de nom de variable DECLARE [valeur par défaut DEFAULT] ;

  1. Instruction de contrôle

Dans une procédure stockée, les instructions de contrôle peuvent être utilisées pour implémenter le contrôle de processus, le jugement conditionnel, la gestion des exceptions, etc. Les instructions de contrôle incluent les opérations courantes suivantes.

(1) Instruction IF : utilisée pour effectuer des opérations de jugement conditionnel et de branchement. Le format syntaxique de l'instruction IF est :

Condition IF THEN instruction 1 ELSEIF condition THEN instruction 2 ELSE instruction 3 END IF;

(2) WHILE instruction : utilisée pour le traitement des boucles, lorsqu'une certaine condition est remplie, un ensemble d'instructions peut être exécuté dans une boucle jusqu'à ce que la condition ne soit pas vraie ou qu'une condition de sortie soit remplie, puis la boucle se termine. Le format syntaxique de l'instruction WHILE est :

Instruction conditionnelle WHILE DO END WHILE ;

(3) Instruction CASE : utilisée pour l'analyse multi-conditions et la sélection de branche, le format syntaxique de l'instruction CASE est :

expression CASE
WHEN valeur 1 THEN Déclaration 1
WHEN Valeur 2 THEN Déclaration 2
... Vous pouvez vous référer à la documentation officielle de MySQL.

4. Exemple d'application

Ce qui suit est un exemple simple de procédure stockée MySQL.

CREATE PROCEDURE GetStudent(IN id INT, OUT name VARCHAR(20))

BEGIN

SELECT student_name INTO name FROM student WHERE student_id =

END;


Dans cet exemple, nous créons un stockage nommé GetStudent Procedure, il a deux paramètres : id et name, où id est un paramètre d'entrée, utilisé pour spécifier le numéro d'étudiant à interroger, et name est un paramètre de sortie, utilisé pour afficher les résultats de la requête.

Dans le corps de la procédure stockée, nous utilisons l'instruction SELECT pour interroger les noms des étudiants qualifiés dans la table des étudiants, stocker les résultats de la requête dans le nom de la variable et enfin renvoyer les résultats de la requête via le mot-clé OUT.

La méthode d'utilisation de cette procédure stockée est la suivante :

CALL GetStudent(1,@name);
SELECT @name;

Dans cet exemple, nous utilisons l'instruction CALL pour appeler la procédure stockée GetStudent, en transmettant la valeur. de l'identifiant du paramètre comme 1, et définissez une variable @name pour stocker les résultats de la requête, et enfin utilisez l'instruction SELECT pour afficher les résultats de la requête.

5. Résumé

Les procédures stockées MySQL sont une fonctionnalité importante de la base de données MySQL, qui peut aider les utilisateurs à encapsuler un ensemble d'instructions SQL couramment utilisées et à améliorer l'efficacité du développement et de la maintenance des applications de base de données. Créer une procédure stockée MySQL est très simple, il vous suffit de suivre le format de syntaxe et les règles de dénomination corrects.

Dans les applications pratiques, les procédures stockées peuvent aider les utilisateurs à mettre en œuvre une logique métier complexe, à améliorer les performances et la sécurité des programmes, à réduire le temps de transmission et de traitement des données, etc. Les utilisateurs peuvent utiliser de manière flexible des procédures stockées pour développer et maintenir des applications de base de données en fonction de leurs propres besoins et conditions réelles.

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
Article précédent:modification du moteur MySQLArticle suivant:modification du moteur MySQL