Bagaimanakah kita menggunakan pernyataan yang disediakan dalam MySQL?

WBOY
Lepaskan: 2023-09-11 08:09:09
ke hadapan
789 orang telah melayarinya

我们如何在 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 = ?;’
Salin selepas log masuk

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;
Salin selepas log masuk

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;
Salin selepas log masuk

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)
Salin selepas log masuk

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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!