MySQL 伺服器支援準備好的語句,當我們想要執行許多僅在很小的細節上有所不同的查詢時,這非常有用。我們可以準備一個語句,然後多次執行它,並且每次都使用不同的資料值。基本上,MySQL 中的準備語句利用客戶端/伺服器二進位協定。準備好的語句可以提供增強的效能,因為伺服器只解析一條完整的語句。
以下是在MySQL 中使用準備好的語句的步驟-
這是我們使用PREPARE 語句準備語句的第一步。例如,以下是使用「Tender」表中的資料編寫的報表-
PREPARE stmt FROM ‘Select tender_value from Tender Where Companyname = ?;’
這是我們將執行的第二步驟使用「PREPARE」語句所準備的語句。例如,我們將使用以下語法執行準備好的語句 stmt -
EXECUTE stmt USING @variable_name;
這裡 @variable_name 將具有我們希望在 ? 傳遞的值。在 PREPARE 語句中。在執行prepared語句之前,我們需要使用SET語句來設定@variable_name的值。
這是最後一步,我們將在 DEALLOCATE 語句的幫助下釋放準備好的語句。例如,我們將藉助以下語法來釋放準備好的語句 stmt -
DEALLOCATE PREPARE stmt;
以下是我們執行準備好的語句的查詢 -
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)
以上是我們如何在 MySQL 中使用準備好的語句?的詳細內容。更多資訊請關注PHP中文網其他相關文章!