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