我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

PythonMySQLcallproc调用数据库存储过程

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

站在用户的角度思考问题,与客户深入沟通,找到正安网站设计与正安网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计、网站建设、企业官网、英文网站、手机端网站、网站推广、域名申请、网络空间、企业邮箱。业务覆盖正安地区。

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

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

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

delimiter //
create procedure add pro(a int, b int, out sum int)
begin
set sum = a + b;
end;
//

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

# 导入访问MySQL的模块
import mysql.connector

# ①、连接数据库
conn = conn = mysql.connector.connect(user='root', password='32147',
    host='localhost', port='3306',
    database='python', use_unicode=True)
# ②、获取游标
c = conn.cursor()
# ③、调用callproc()方法执行存储过程
# 虽然add_pro存储过程需要3个参数,但最后一个参数是传出参数,
# 因此程序不会用它的值
result_args = c.callproc('add_pro', (5, 6, 0))
# 返回的result_args既包含了传入参数的值,也包含了传出参数的值
print(result_args)
# 如果只想访问传出参数的值,可直接访问result_args的第3个元素,如下代码
print(result_args[2])
# ④、关闭游标
c.close()
# ⑤、关闭连接
conn.close()

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

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

(5, 6, 11)
11

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

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


分享名称:PythonMySQLcallproc调用数据库存储过程
网站网址:http://shouzuofang.com/article/pcdops.html

其他资讯