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

最新文章

  1. ImageView的常用属性
  2. 使用IIS发布WCF服务
  3. Maven web项目三种运行方式
  4. SQL servcer 时间日期函数、数据类型转换
  5. Vue.js双向绑定的实现原理和模板引擎实现原理(##########################################)
  6. SVN 冲突文件快速解决方法
  7. IO流04_InputStream和Reader输入流
  8. LayoutInflater类详解
  9. Linux下df与du两个命令的差别?
  10. 安装tomcat过程中出现问题小结
  11. spring boot / cloud (十五) 分布式调度中心进阶
  12. EXCEL 如何实现下拉填充公式,保持公式部分内容不变,使用绝对引用
  13. 异常: Recieved SHUTDOWN signal from Resourcemanager ,Registration of NodeManager failed, Message from ResourceManager: NodeManager from localhost doesn't satisfy minimum allocations, Sending SHUTDOWN s
  14. 数据库新秀 postgresql vs mongo 性能PK
  15. java程序中实现打开 某个指定浏览器
  16. Oracle数据库mybatis 插入空值时报错(with JdbcType OTHER)
  17. mysql select 字段别名是否可以用在 select中或者where中
  18. Android DatePickerDialog和TimePickerDialog显示样式
  19. 更简单的调试Release版本Optimize code的.NET程序集
  20. Java转Exe

热门文章

  1. h5移动端常见虚拟键盘顶起底部导航栏解决办法
  2. Go:struct
  3. prop 和 attr 中一些羞羞的事情
  4. win7右键菜单不见解决办法
  5. Volume 1. Maths - Misc
  6. 【ZOJ - 3780】 Paint the Grid Again (拓扑排序)
  7. UVa 11998 破碎的键盘(数组实现链表)
  8. 如何用photoshop输出html网页
  9. BNUOJ 2947 Buy Tickets
  10. MYSQL Sorting result 把队列堆满了,该怎么办?