Heim  >  Artikel  >  Datenbank  >  Wie verwenden wir vorbereitete Anweisungen in MySQL?

Wie verwenden wir vorbereitete Anweisungen in MySQL?

WBOY
WBOYnach vorne
2023-09-11 08:09:09763Durchsuche

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

Der MySQL-Server unterstützt vorbereitete Anweisungen, was sehr nützlich ist, wenn wir viele Abfragen ausführen möchten, die sich nur in kleinen Details unterscheiden. Wir können eine Anweisung vorbereiten und sie dann mehrmals ausführen, jedes Mal mit unterschiedlichen Datenwerten. Grundsätzlich nutzen vorbereitete Anweisungen in MySQL das Client/Server-Binärprotokoll. Vorbereitete Anweisungen bieten eine verbesserte Leistung, da der Server nur eine vollständige Anweisung analysiert.

Hier sind die Schritte zur Verwendung vorbereiteter Anweisungen in MySQL –

Vorbereitete Anweisungen

Dies ist der erste Schritt in unserer vorbereiteten Anweisung mit der PREPARE-Anweisung. Unten sehen Sie beispielsweise einen Bericht, der mit Daten aus der Tabelle „Tender“ erstellt wurde –

Beispiel

PREPARE stmt FROM ‘Select tender_value from Tender Where Companyname = ?;’

Ausführen einer PREPARED-Anweisung

Dies ist der zweite Schritt, den wir mit der vorbereiteten Anweisung „PREPARE“-Anweisung ausführen werden. Zum Beispiel führen wir eine vorbereitete Anweisung mit der folgenden Syntax stmt aus:

Beispiel

EXECUTE stmt USING @variable_name;

Hier hat @Variablenname den Wert, den wir übergeben möchten? in einer PREPARE-Anweisung. Bevor wir die vorbereitete Anweisung ausführen, müssen wir den Wert von @variable_name mithilfe der SET-Anweisung festlegen.

DEALLOCATE PREPARED-Anweisung

Dies ist der letzte Schritt, in dem wir die vorbereitete Anweisung mithilfe der DEALLOCATE-Anweisung freigeben. Beispielsweise werden wir die vorbereitete Anweisung stmt mit Hilfe der folgenden Syntax freigeben –

Beispiel

DEALLOCATE PREPARE stmt;

Unten finden Sie die Abfrage, bei der wir die vorbereitete Anweisung ausführen werden –

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)

Das obige ist der detaillierte Inhalt vonWie verwenden wir vorbereitete Anweisungen in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen