Rumah  >  Artikel  >  pangkalan data  >  Apakah kegunaan mysql prepare?

Apakah kegunaan mysql prepare?

青灯夜游
青灯夜游asal
2023-04-18 11:52:511762semak imbas

Dalam MySQL, pernyataan PREPARE boleh menggunakan protokol binari klien/pelayan untuk menghantar pertanyaan yang mengandungi ruang letak "?" menggunakan pernyataan PREPARE untuk melaksanakan pertanyaan dengan ruang letak untuk meningkatkan kelajuan pertanyaan dan membuat pengguna pertanyaan lebih selamat.

Apakah kegunaan mysql prepare?

Persekitaran pengendalian tutorial ini: sistem windows7, versi mysql8, komputer Dell G3.

Pengenalan kepada Penyata Disediakan MySQL

Sebelum MySQL versi 4.1, pertanyaan telah dihantar ke pelayan MySQL dalam format teks. Selepas itu, pelayan MySQL mengembalikan data kepada klien menggunakan protokol teks. MySQL mesti menghuraikan pertanyaan sepenuhnya dan menukar set hasil kepada rentetan sebelum mengembalikannya kepada klien.

Protokol teks mempunyai masalah prestasi yang serius. Untuk menyelesaikan masalah ini, MySQL telah menambah pernyataan bernama sejak versi 4.1prepare untuk melaksanakan beberapa ciri baharu. Penyataan

prepare menggunakan protokol binari klien/pelayan. Ia menghantar pertanyaan yang mengandungi ruang letak (?) ke pelayan MySQL, seperti yang ditunjukkan dalam contoh berikut:

SELECT * 
FROM products 
WHERE productCode = ?;

Apabila MySQL melaksanakan pertanyaan ini dengan nilai productcode yang berbeza, pertanyaan itu tidak perlu dihuraikan sepenuhnya. Oleh itu, ini membantu MySQL melaksanakan pertanyaan dengan lebih pantas, terutamanya apabila MySQL melaksanakan pertanyaan beberapa kali. Oleh kerana pernyataan prepare menggunakan ruang letak (?), ini membantu mengelakkan isu suntikan SQL, menjadikan aplikasi anda lebih selamat sedikit.

Penggunaan Penyata Disediakan MySQL

Untuk menggunakan penyata yang disediakan MySQL, anda perlu menggunakan tiga penyata MySQL lain seperti berikut:

  • BERSEDIA - Kenyataan untuk persediaan pelaksanaan.
  • LAKSANAKAN - Laksanakan pernyataan yang ditakrifkan oleh pernyataan PREPARE.
  • DEALLOCATE PREPARE - menerbitkan kenyataan PREPARE.

Rajah berikut menggambarkan cara menggunakan pernyataan PREPARE:

Apakah kegunaan mysql prepare?

MySQL PREPARE contoh pernyataan

Mari kita lihat contoh menggunakan pernyataan MySQL PREPARE.

PREPARE stmt1 FROM 'SELECT productCode, productName
                    FROM products
                    WHERE productCode = ?';

SET @pc = 'S10_1678';
EXECUTE stmt1 USING @pc;

DEALLOCATE PREPARE stmt1;

Pertama, sediakan pernyataan pelaksanaan menggunakan pernyataan PREPARE. Kami menggunakan pernyataan SELECT untuk menanyakan data produk daripada jadual products berdasarkan kod produk yang ditentukan. Kemudian gunakan tanda soal (?) sebagai ruang letak untuk kod produk.

Seterusnya, pembolehubah kod produk @pc diisytiharkan dan nilainya ditetapkan kepada S10_1678.

Kemudian, gunakan pernyataan EXECUTE untuk melaksanakan pernyataan yang disediakan untuk pembolehubah kod pengeluaran @pc.

Akhir sekali, kami menggunakan DEALLOCATE PREPARE untuk menerbitkan kenyataan PREPARE.

[Cadangan berkaitan: tutorial video mysql]

Atas ialah kandungan terperinci Apakah kegunaan mysql prepare?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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