Maison  >  Article  >  base de données  >  utilisation de la procédure stockée MySQL

utilisation de la procédure stockée MySQL

王林
王林original
2023-05-18 14:52:381064parcourir

Utilisation de la procédure stockée MySQL

La procédure stockée MySQL est un ensemble d'instructions SQL prédéfinies pour effectuer un travail spécifique. Les procédures stockées peuvent contribuer à améliorer les performances de la base de données, à améliorer la maintenabilité et également à réduire le trafic et la sécurité du réseau.

Cet article présentera la syntaxe de base des procédures stockées MySQL, ainsi que plusieurs exemples pratiques.

1. Syntaxe de base

1. Créer une procédure stockée

La syntaxe de création d'une procédure stockée est la suivante :

CREATE PROCEDURE procedure_name(
    [IN] input_parameter_name data_type,
    [OUT] output_parameter_name data_type,
    [INOUT] input_output_parameter_name data_type
)
BEGIN
    -- SQL语句
END;

Parmi eux, nom_procédure représente le nom de la procédure stockée, nom_paramètre_entrée représente le nom du paramètre d'entrée. , output_parameter_name représente le nom du paramètre de sortie et input_output_parameter_name représente le nom des paramètres d'entrée et de sortie.

2. Appel d'une procédure stockée

La syntaxe pour appeler une procédure stockée est la suivante :

CALL procedure_name([input_parameter_value], [output_parameter_value], [input_output_parameter_value]);

Parmi eux, nom_procédure représente le nom de la procédure stockée à appeler, input_parameter_value représente le paramètre d'entrée à passer dans la procédure stockée. procédure, output_parameter_value représente la valeur de retour du paramètre de sortie, input_output_parameter_value Indique les valeurs des paramètres d'entrée et de sortie.

2. Exemples pratiques

1. Utiliser des procédures stockées pour interroger les scores des étudiants

Ce qui suit est un exemple simple d'interrogation des scores des étudiants via des procédures stockées :

CREATE PROCEDURE get_student_grade(IN student_name VARCHAR(255))
BEGIN
    SELECT * FROM student_grade WHERE name = student_name;
END;

Cette procédure stockée reçoit un nom d'étudiant comme paramètre d'entrée et génère le nom Informations sur les performances de l'élève.

2. Mettre à jour le mot de passe de l'administrateur à l'aide d'une procédure stockée

Voici un autre exemple de mise à jour du mot de passe de l'administrateur via une procédure stockée :

CREATE PROCEDURE update_admin_password(IN admin_id INT, IN new_password VARCHAR(255))
BEGIN
    UPDATE admin SET password=new_password WHERE id=admin_id;
END;

Cette procédure stockée reçoit l'identifiant de l'administrateur et le nouveau mot de passe comme paramètres d'entrée et met à jour le mot de passe de l'administrateur.

3. Utilisez des procédures stockées pour supprimer les données expirées

Ce qui suit est un exemple de suppression de données expirées via des procédures stockées :

CREATE PROCEDURE delete_expired_data(IN table_name VARCHAR(255), IN expire_date DATE)
BEGIN
    DELETE FROM table_name WHERE date < expire_date;
END;

Cette procédure stockée reçoit le nom de la table et la date d'expiration comme paramètres d'entrée et supprime les données expirées dans le spécifié. tableau.

3. Résumé

Cet article présente principalement la syntaxe de base et des exemples pratiques des procédures stockées MySQL. Les procédures stockées peuvent nous aider à effectuer davantage de travail en améliorant les performances et la maintenabilité de la base de données. Cependant, lors de l'utilisation de procédures stockées, nous devons prêter attention à la sécurité et éviter les problèmes tels que les attaques par injection SQL. Les exemples ci-dessus montrent également que les procédures stockées peuvent être utilisées pour mettre à jour des données, interroger des données et supprimer des données. C'est une fonction très pratique dans la base de données 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!

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