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

MySQL服务器支持准备好的语句,当我们想运行许多只在很小的细节上有所不同的查询时,这很有用。我们可以准备一条语句,然后多次使用不同的数据值执行该语句。基本上,MySQL中的预备语句利用了客户端/服务器二进制协议。准备好的语句提供了增强的性能,因为服务器仅对完整的语句进行了解析。

以下是在MySQL中使用准备好的语句的步骤-

准备陈述 

这是我们将使用PREPARE语句准备语句的第一步。例如,以下是使用“投标”表中的数据准备的语句-

示例

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

执行PREPARED语句

 这是第二步,我们将执行使用“ PREPARE”语句准备的语句。例如,我们将使用以下语法执行准备好的语句stmt-

示例

EXECUTE stmt USING @variable_name;

在这里,@variable_name将具有我们希望tp传递的值?在PREPARE语句中。在执行准备好的语句之前,我们需要使用SET语句设置@variable_name的值。

取消分配PREPARED语句

这是我们将在DEALLOCATE语句的帮助下释放准备好的语句的最后一步。例如,我们将在以下语法的帮助下释放准备好的语句stmt-

示例

DEALLOCATE PREPARE stmt;

以下是查询,在这些查询的帮助下,我们运行了准备好的语句-

mysql> PREPARE stmt FROM 'SELECT tender_value from Tender WHERE
Companyname = ?';
Statement prepared

mysql> SET @A = 'Singla Group.';

mysql> EXECUTE stmt using @A;
+--------------+
| tender_value |
+--------------+
|   220.255997 |
+--------------+
1 row in set (0.07 sec)

mysql> DEALLOCATE PREPARE stmt;
猜你喜欢