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)

相关推荐

  • linux ubuntu怎么安装mysql

    技术linux ubuntu怎么安装mysql这篇文章主要讲解了“linux ubuntu怎么安装mysql”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux ub

    攻略 2021年11月26日
  • 乐观锁和悲观锁

    技术乐观锁和悲观锁 乐观锁和悲观锁悲观锁:具有强烈的独占和排他特性。它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度。因此,在整个数据处理过程中,将数据处于锁定

    礼包 2021年12月15日
  • 分析sqlserver2008跨数据库事务测试

    技术分析sqlserver2008跨数据库事务测试本篇内容介绍了“分析sqlserver2008跨数据库事务测试”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情

    攻略 2021年11月5日
  • 手把手带你刷二叉树,第一期)

    技术手把手带你刷二叉树,第一期) 手把手带你刷二叉树(第一期)https://labuladong.gitee.io/algo/2/18/21/读完本文,你不仅学会了算法套路,还可以顺便去 LeetCo

    礼包 2021年11月12日
  • css3翻转效果(在css中可以实现旋转效果的属性)

    技术css3如何实现元素左右翻转这篇文章主要介绍了css3如何实现元素左右翻转,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

    攻略 2021年12月16日
  • mysqldump怎么用

    技术mysqldump怎么用这篇文章主要介绍了mysqldump怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 一、创建

    攻略 2021年11月3日