MySQL中预处理语句prepare、execute、deallocate怎么用

技术MySQL中预处理语句prepare、execute、deallocate怎么用这篇文章将为大家详细讲解有关MySQL中预处理语句prepare、execute、deallocate怎么用,小编觉得挺实用的,因此分享

这篇文章将为大家详细讲解有关关系型数据库中预处理语句准备、执行、解除分配怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

关系型数据库官方将准备、执行、解除分配统称为准备陈述。

我习惯称其为【预处理语句】。

其用法十分简单,

PREPARE stmt_name FROM preparable_stmt

EXECUTE stmt_name

[USING @var_name[,@http://

var_name]...] –

举个栗子:

mysql PREPARE pr1 FROM ‘SELECT?’;

查询正常,0行受影响(0.01秒)

准备的声明

mysql SET @a=1,@ b=10

查询正常,0行受影响(0.00秒)

mysql EXECUTE pr1 USING @a,@ b;

| ?|

| 11 |

一行一组(0.00秒)

mysql EXECUTE pr1 USING 1,2;-只能使用用户变量传递。

错误1064 (42000):您的结构化查询语言语法有错误;查看与您的关系型数据库服务器版本相对应的手册,了解

第一行”1,2″附近使用的正确语法

MySQL DECLARATE PREMIUM pr1

查询正常,0行受影响(0.00秒)

使用PAREPARE STATEMENT可以减少每次执行结构化查询语言的语法分析,

比如用于执行带有在哪里条件的挑选和删除,或者更新,或者插入,只需要每次修改变量值即可。

同样可以防止结构化查询语言注入,参数值可以包含转义符和定界符。

适用在应用程序中,或者结构化查询语言脚本中均可。

更多用法:

同样准备.从可以直接接用户变量:

MySQL CREATE TABLE a(a int);

查询正常,0行受影响(0.26秒)

关系型数据库插入到选择1中;

查询正常,1行受影响(0.04秒)

记录: 1副本: 0警告: 0

关系型数据库插入到选择2中;

查询正常,1行受影响(0.04秒)

记录: 1副本: 0警告: 0

关系型数据库插入到选择3中;

查询正常,1行受影响(0.04秒)

记录: 1副本: 0警告: 0

MySQL SET @ SELECT _ test=CONCAT(‘ SELECT * FROM ‘,@ table _ name);

查询正常,0行受影响(0.00秒)

mysql SET @ table _ name=’ a ‘

查询正常,0行受影响(0.00秒)

MySQL PREPARE pr2 FROM @ select _ test;

查询正常,0行受影响(0.00秒)

准备的声明

mysql EXECUTE pr2

| a|

| 1|

| 2 |

| 3 |

3行一组(0.00秒)

MySQL DROP PREMIUM pr2-此处滴可以替代重新分配

查询正常,0行受影响(0.00秒)

每一次执行完执行时,养成好习惯,须执行解除分配准备…语句,这样可以释放执行中使用的所有数据库资源(如游标)。

不仅如此,如果一个会议的预处理语句过多,可能会达到最大_准备_ stmt _计数的上限值。

预处理语句只能在创建者的会话中可以使用,其他会话是无法使用的。

而且在任意方式(正常或非正常)退出会话时,之前定义好的预处理语句将不复存在。

如果在存储过程中使用,如果不在过程中重新分配掉,在存储过程结束之后,该预处理语句仍然会有效。

关于“MySQL中预处理语句准备、执行、解除分配怎么用”这篇文章就分享到这里了,希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/56696.html

(0)

相关推荐

  • 如何调用api(如何调用api中间件)

    技术如何调用API小编给大家分享一下如何调用API,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!给大家分享一个微信域名封杀检测api,平时用微

    攻略 2021年12月24日
  • 如何读取netcdf数据并在matplotlib Basemap上绘图

    技术如何读取netcdf数据并在matplotlib Basemap上绘图这篇文章主要为大家展示了“如何读取netcdf数据并在matplotlib Basemap上绘图”,内容简而易懂,条理清晰,希望能够帮助大家解决疑

    攻略 2021年12月8日
  • c#的ScaleOPC.DLL功能有哪些

    技术c#的ScaleOPC.DLL功能有哪些本篇内容主要讲解“c#的ScaleOPC.DLL功能有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“c#的ScaleOPC.D

    攻略 2021年11月26日
  • MySQL在ROW模式下如何通过binlog提取SQL语句

    技术MySQL在ROW模式下如何通过binlog提取SQL语句小编给大家分享一下MySQL在ROW模式下如何通过binlog提取SQL语句,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

    攻略 2021年10月29日
  • spring成神之路第四十八篇:@Transaction 事务源码解析

    技术spring成神之路第四十八篇:@Transaction 事务源码解析 spring成神之路第四十八篇:@Transaction 事务源码解析大家好,今天咱们通过源码来了解一下spring中@Tra

    礼包 2021年11月7日
  • 如何分析Linux PIE/堆栈内存损坏漏洞CVE-2017-1000253

    技术如何进行Linux PIE/stack 内存破坏漏洞CVE-2017-1000253分析本篇文章为大家展示了如何进行Linux PIE/stack 内存破坏漏洞CVE-2017-1000253分析,内容简明扼要并且容

    攻略 2021年12月21日