[MYSQL]PREPARE 简单应用
来源:互联网 发布:linux系统入门书籍 编辑:程序博客网 时间:2024/05/22 07:53
PREPARE 简单应用(转)
语法如下:
PREPARE statement_name FROM sql_text /*定义*/
EXECUTE statement_name [USING variable [,variable...]] /*执行预处理语句*/
DEALLOCATE PREPARE statement_name /*删除定义*/
简单例子:
mysql> PREPARE prod FROM "INSERT INTO examlple VALUES(?,?)";
mysql> SET @p='1';
mysql> SET @q='2';
mysql> EXECUTE prod USING @p,@q;
mysql> SET @name='3';
mysql> EXECUTE prod USING @p,@name;
mysql> DEALLOCATE PREPARE prod;
===
python应用(片段)
def MYSQL_PREPARE(Connect,Statement_Name,Query)#定义prepare
def MYSQL_EXECUTE_PREPARE_RESULT(Connect,Statement_Name,*arg)#传入参数并执行sql
sql_statment= "SELECT * FROM table_name WHERE id > 10 and email != '' LIMIT 1,?"
#以下为调用程序片段
Num=20
MYSQL_PREPARE(dbcon,"prepare_name",sql_statment)
dataAll = MYSQL_EXECUTE_PREPARE_RESULT(dbcon,"prepare_name",str(Num))#传入参数执行
说明:
1 首先定义sql串,并将变量用?代替
2 调用函数创建PREPARE
在函数中执行类似于这样的语句 PREPARE statement_name FROM sql_text /*定义*/
3 调用函数执行PREPARE
在函数中首先执行,类似于 SET @p='1'; 这样的语句
然后执行 类拟于EXECUTE prod USING @p,@q; 这样的语句
======
转自http://blog.163.com/sea_haitao/
使用 PREPARE 的几个注意点:
A: PREPAREstmt_name
FROMpreparable_stmt
;
预定义一个语句,并将它赋给 stmt_name ,stmt_name 是不区分大小写的。
B: 即使 preparable_stmt 语句中的 ? 所代表的是一个字符串,你也不需要将 ? 用引号包含起来。
C: 如果新的 PREPARE 语句使用了一个已存在的 stmt_name ,那么原有的将被立即释放!
即使这个新的 PREPARE 语句因为错误而不能被正确执行。
D: PREPARE stmt_name 的作用域是当前客户端连接会话可见。
E: 要释放一个预定义语句的资源,可以使用 DEALLOCATE PREPARE 句法。
F: EXECUTEstmt_name
句法中,如果 stmt_name 不存在,将会引发一个错误。
G: 如果在终止客户端连接会话时,没有显式地调用 DEALLOCATE PREPARE 句法释放资源,服务器端会自己动释放它。
H:在预定义语句中,CREATE TABLE,DELETE
,DO
,INSERT
,REPLACE
,SELECT
,SET
,UPDATE
, 和大部分的SHOW
句法被支持。
I:PREPARE 语句不可以用于存储过程,自定义函数!但从 MySQL 5.0.13 开始,它可以被用于存储过程,仍不支持在函数中使用!
- [MYSQL]PREPARE 简单应用
- mysql的prepare应用
- mysql prepare
- mysql prepare语句使用
- mysql prepare测试
- mysql prepare语句使用
- mysql prepare语句使用
- mysql prepare语句使用
- mysql prepare语句使用
- mysql prepare语句使用
- MySQL prepare预编译
- mysql prepare语句使用
- mysql prepare语句使用
- Mysql --prepare statement
- MySQL prepare 原理
- mysql prepare 预处理语句
- PDO::prepare mysql
- mysql的预查询prepare
- C# double float int string 与 byte数组 相互转化
- Windows Vista 原先的设计目标
- 关于多线程中的全局静态变量
- [PHP]php算法
- Google以及那些消逝了的背影
- [MYSQL]PREPARE 简单应用
- [MYSQL]prepare 预编译SQL:Mysql
- 创业投资——非同寻常的大众幻想与群众性癫狂
- 体育的真谛是什么?
- JNI实践(转载)
- 对环境索求越多,越无法进化
- Asp.net把UTF-8编码转换为GB2312编码
- df
- debian(lenny)更改默认语言编码