Python MySQL callproc调用数据库存储过程

  

Python MySQL callproc调用数据库存储过程?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

MySQL数据库模块为游标对象提供了一个非标准的callproc(自我、procname args=())方法,该方法用于调用数据库存储过程。

callproc方法的procname参数代表存储过程的名字,而参数参数则用于为存储过程传入参数。

下面的SQL脚本可以在MySQL数据库中创建一个简单的存储过程。打开MySQL的命令行客户端,连接Python数据库之后,输入如下SQL脚本来创建存储过程:

delimiter //create  procedure  add 箴(a , int, b  int,, out  sum  int)   开始   set  sum =, a  +, b;   结束;//

下面程序示范了使用MySQL数据库模块来调用存储过程:

#,导入访问MySQL的模块   import  mysql.connector      #,①,连接数据库   时间==conn  conn  mysql.connector.connect(用户=& # 39;根# 39;,,密码=& # 39;32147 & # 39;,   ,,,主机=& # 39;localhost # 39;,,端口=& # 39;3306 & # 39;   ,,,数据库=& # 39;python # 39;,, use_unicode=True)   #,②,获取游标   时间=c  conn.cursor ()   #,③,调用callproc()方法执行存储过程   #,虽然add_pro存储过程需要3个参数,但最后一个参数是传出参数,   #,因此程序不会用它的值   result_args =, c.callproc (& # 39; add_pro& # 39;,,(5日,6日,0))   #,返回的result_args既包含了传入参数的值,也包含了传出参数的值   打印(result_args)   #,如果只想访问传出参数的值,可直接访问result_args的第3个元素,如下代码   print (result_args [2])   #,④,关闭游标   c.close ()   #,⑤,关闭连接   conn.close ()

上面程序中,第13行代码就是调用存储过程的关键代码。使用MySQL数据库模块调用存储过程非常简单,存储过程需要几个参数,程序通过callproc()方法调用存储过程时就传入一个包含几个元素的元组,对于存储过程的传入参数,该参数对应的元组元素负责为传入参数传值;对于存储过程的传出参数,该参数对应的元组元素随便定义即可。

运行上面的程序,可以看到如下输出结果:

(5日,6日,11)   11

从上面的输出结果来看,当程序使用,Python 调用存储过程后,程序会返回传入参数和传出参数组成的元组,如第一行输出结果所示。如果程序只需要获取传出参数的值,则通过返回的结果元组取出对应的值即可。

关于Python MySQL callproc调用数据库存储过程问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

Python MySQL callproc调用数据库存储过程