当前位置: 首页 > 图灵资讯 > 行业资讯> Python MySQL callproc方法:调用数据库存储过程

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

发布时间:2025-10-14 17:54:27

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

procname参数代表存储过程的名称,callproc方法 args 参数用于将参数传入存储过程。

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

delimiter//
createprocedureaddpro(aint,bint,outsumint)
begin
setsum=a+b;
end;
//

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

#导入访问MySQL的模块
importmysql.connector

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

在上述程序中,第 13 行代码是调用存储过程的关键代码。使用 MySQL 数据库模块调用存储过程非常简单,存储过程需要几个参数,程序通过 callproc() 该方法在调用存储过程时引入一个包含多个元素的元素组;对于存储过程中的引入参数,参数对应的元素负责引入参数的传输值;对于存储过程中的引入参数,可以随意定义参数对应的元素。操作上述程序时,可以看到以下输出结果:

(5,6,11)
11

根据上述输出结果,当程序使用Python调用存储过程时,程序将返回由输入参数和输出参数组成的元组,如第一行输出结果所示。如果程序只需要获得输出参数的值,则可以通过返回的结果元组取出相应的值。

相关文章

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

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

2025-10-14
Python之可迭代对象、迭代器、生成器

Python之可迭代对象、迭代器、生成器

2025-10-14
什么是线程(多线程),Python多线程的好处

什么是线程(多线程),Python多线程的好处

2025-10-14
Python之什么叫面向对象

Python之什么叫面向对象

2025-10-14
Python创建线程

Python创建线程

2025-10-14
Python守护线程及作用

Python守护线程及作用

2025-10-13