mysql怎么区分prepare

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql怎么区分prepare相关的知识,希望对你有一定的参考价值。

参考技术A 问问题详细一点

MySQL-PREPARE语句

MySQL-PREPARE语句

功能介绍:

MySQL准备语句用法

为了使用MySQL准备语句,您需要使用其他三个MySQL语句如下:

  PREPARE - 准备执行的声明。

  EXECUTE - 执行由PREPARE语句定义的语句。

  DEALLOCATE PREPARE - 发布PREPARE语句。

PREPARE语句使用:

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

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

DEALLOCATE PREPARE stmt1;

第一,使用PREPARE语句准备执行语句。我们使用SELECT语句根据指定的产品代码从products表查询产品数据。然后再使用问号(?)作为产品代码的占位符。

第二,声明了一个产品代码变量@pc,并将其值设置为S10_1678

第三,使用EXECUTE语句来执行产品代码变量@pc的准备语句。

第四,我们使用DEALLOCATE PREPARE来发布PREPARE语句。

实例:

该语句用于在给定了两个边的长度时,计算三角形的斜边。

示例1:显示如何通过使用文字字符串来创建一个预制语句,以提供语句的文本:

mysql> PREPARE stmt1 FROM \'SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse\';
mysql> SET @a = 3;
mysql> SET @b = 4;
mysql> EXECUTE stmt1 USING @a, @b;
+------------+
| hypotenuse |
+------------+
|     5 |
+------------+
mysql> DEALLOCATE PREPARE stmt1;

示例2::与示例1相似,不同的是提供了语句的文本,作为一个用户变量:

mysql> SET @s = \'SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse\';
mysql> PREPARE stmt2 FROM @s;
mysql> SET @a = 6;
mysql> SET @b = 8;
mysql> EXECUTE stmt2 USING @a, @b;
+------------+
| hypotenuse |
+------------+
|     10 |
+------------+
mysql> DEALLOCATE PREPARE stmt2;

示例3:对于已预备的语句,您可以使用位置保持符。

以下语句将从tb1表中返回一行:

mysql> SET @a=1; mysql> PREPARE STMT FROM "SELECT * FROM tbl LIMIT ?"; mysql> EXECUTE STMT USING @a;

以下语句将从tb1表中返回第二到第六行:

mysql> SET @skip=1; SET @numrows=5;
 
 mysql> PREPARE STMT FROM "SELECT * FROM tbl LIMIT ?, ?";
 
 mysql> EXECUTE STMT USING @skip, @numrows;

 

参考博客:http://www.cnblogs.com/simpman/p/6510604.html

以上是关于mysql怎么区分prepare的主要内容,如果未能解决你的问题,请参考以下文章

mysql建表时强制区分大小写怎么写?

linux下解决mysql区分大小写问题怎么解决

linux下解决mysql区分大小写问题怎么解决

求助:MYSQL 中的replace函数怎么才能不区分大小写?

如何在mysql中使字段区分大小写

mysql模糊查询语句怎么不区分大小写