首页 技术 正文
技术 2022年11月13日
0 收藏 750 点赞 4,378 浏览 1329 个字

MySQL-PREPARE语句

功能介绍:

MySQL准备语句用法

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

  PREPARE – 准备执行的声明。

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

  DEALLOCATE PREPARE – 发布PREPARE语句。

PREPARE语句使用:

MySQL-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

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,037
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,522
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,370
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,151
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,784
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,866