Rumah  >  Artikel  >  pangkalan data  >  Bagaimanakah kita menggunakan pernyataan yang disediakan dalam MySQL?

Bagaimanakah kita menggunakan pernyataan yang disediakan dalam MySQL?

WBOY
WBOYke hadapan
2023-09-11 08:09:09764semak imbas

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

Pelayan MySQL menyokong pernyataan yang disediakan, yang sangat berguna apabila kita ingin menjalankan banyak pertanyaan yang berbeza hanya dalam butiran kecil. Kita boleh menyediakan kenyataan dan kemudian melaksanakannya beberapa kali, setiap kali dengan nilai data yang berbeza. Pada asasnya, pernyataan yang disediakan dalam MySQL menggunakan protokol binari klien/pelayan. Penyata yang disediakan memberikan prestasi yang dipertingkatkan kerana pelayan hanya menghuraikan pernyataan yang lengkap.

Berikut ialah langkah-langkah untuk menggunakan penyata yang disediakan dalam MySQL -

Penyata Disediakan

Ini adalah langkah pertama dalam penyataan kami yang disediakan menggunakan penyata PREPARE. Sebagai contoh, di bawah adalah laporan yang ditulis menggunakan data dari jadual "Tender" -

Contoh

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

Melaksanakan penyata DISEDIAKAN

Ini adalah langkah kedua yang akan kami lakukan menggunakan penyata "PERSEDIAAN" yang disediakan. Sebagai contoh, kami akan melaksanakan pernyataan yang disediakan menggunakan sintaks stmt berikut -

Contoh

EXECUTE stmt USING @variable_name;

Di sini @variable_name akan mempunyai nilai yang ingin kami hantarkan pada ? dalam kenyataan SEDIA. Sebelum melaksanakan pernyataan yang disediakan, kita perlu menetapkan nilai @variable_name menggunakan pernyataan SET.

DEALLOCATE PREPARED statement

Ini adalah langkah terakhir di mana kami akan mengeluarkan kenyataan yang disediakan dengan bantuan DEALLOCATE statement. Sebagai contoh, kami akan mengeluarkan pernyataan stmt yang disediakan dengan bantuan sintaks berikut -

Contoh

DEALLOCATE PREPARE stmt;

Di bawah adalah pertanyaan di mana kami akan menjalankan pernyataan yang disediakan -

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)

Atas ialah kandungan terperinci Bagaimanakah kita menggunakan pernyataan yang disediakan dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam