MySQL 如何在MySQL中使用预处理语句?

MySQL 如何在MySQL中使用预处理语句?

MySQL服务器支持预处理语句,当我们想运行许多仅在非常细微的细节上有所不同的查询时,这很有用。我们可以准备一条语句,然后多次执行它,每次使用不同的数据值。从根本上讲,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语句的?处传递的值。在执行准备语句之前,我们需要使用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)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程