Maison > base de données > tutoriel mysql > le corps du texte

Comment utilisons-nous les instructions préparées dans MySQL ?

WBOY
Libérer: 2023-09-11 08:09:09
avant
812 Les gens l'ont consulté

我们如何在 MySQL 中使用准备好的语句?

Le serveur MySQL prend en charge les instructions préparées, ce qui est très utile lorsque nous voulons exécuter de nombreuses requêtes qui ne diffèrent que par de petits détails. Nous pouvons préparer une instruction puis l'exécuter plusieurs fois, à chaque fois avec des valeurs de données différentes. Fondamentalement, les instructions préparées dans MySQL utilisent le protocole binaire client/serveur. Les instructions préparées offrent des performances améliorées car le serveur analyse uniquement une instruction complète.

Voici les étapes pour utiliser les instructions préparées dans MySQL -

Déclarations préparées

Il s'agit de la première étape de notre instruction préparée utilisant l'instruction PREPARE. Par exemple, vous trouverez ci-dessous un rapport rédigé à partir des données de la table "Tender" -

Exemple

PREPARE stmt FROM ‘Select tender_value from Tender Where Companyname = ?;’
Copier après la connexion

Exécution d'une instruction PREPARED

C'est la deuxième étape que nous effectuerons en utilisant l'instruction préparée "PREPARE". Par exemple, nous exécuterons une instruction préparée en utilisant la syntaxe suivante stmt -

Example

EXECUTE stmt USING @variable_name;
Copier après la connexion

Ici, @variable_name aura la valeur que nous voulons transmettre à ? dans une instruction PREPARE. Avant d'exécuter l'instruction préparée, nous devons définir la valeur de @variable_name à l'aide de l'instruction SET.

Instruction DEALLOCATE PREPARED

C'est la dernière étape où nous publierons l'instruction préparée à l'aide de l'instruction DEALLOCATE. Par exemple, nous publierons l'instruction préparée stmt à l'aide de la syntaxe suivante -

Exemple

DEALLOCATE PREPARE stmt;
Copier après la connexion

Vous trouverez ci-dessous la requête dans laquelle nous exécuterons l'instruction préparée -

mysql> PREPARE stmt FROM 'SELECT tender_value from Tender WHERE
Companyname = ?';
Query OK, 0 rows affected (0.09 sec)
Statement prepared

mysql> SET @A = 'Singla Group.';
Query OK, 0 rows affected (0.00 sec)

mysql> EXECUTE stmt using @A;
+--------------+
| tender_value |
+--------------+
|   220.255997 |
+--------------+
1 row in set (0.07 sec)

mysql> DEALLOCATE PREPARE stmt;
Query OK, 0 rows affected (0.00 sec)
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:tutorialspoint.com
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