Python 中 MySQL 存储过程的返回值处理
在 Python 中使用 MySQL 存储过程的返回值处理步骤如下:
- 定义 MySQL 存储过程,并在其中使用
RETURN
语句返回一个值。
DELIMITER // CREATE PROCEDURE myproc(p_str VARCHAR(20)) BEGIN DECLARE result INT; SET result = LENGTH(p_str); RETURN result; END // DELIMITER ;
- 在 Python 中通过 MySQL Connector 连接 MySQL 数据库,并执行存储过程。
import mysql.connector # 创建数据库连接 mydb = mysql.connector.connect( host='localhost', user='root', password='password', database='mydatabase' ) # 创建游标对象 mycursor = mydb.cursor() # 执行存储过程,并获取返回值 args = ('pidancode.com',) result_args = mycursor.callproc('myproc', args) result = result_args[-1] # 打印返回值 print(result)
在上述代码中,我们首先定义了一个 MySQL 存储过程 myproc
,用于计算入参字符串的长度,并通过 RETURN
语句返回了一个值。然后,在 Python 中,我们通过 MySQL Connector 创建一个数据库连接,创建游标对象,执行存储过程,获取返回值,并最终打印返回值。
需要注意的是,在 callproc
方法中,我们传递了两个参数,第一个参数是存储过程的名称,第二个参数是存储过程的入参。在获取返回值时,我们使用了 result_args[-1]
来获取存储过程的返回值。这里 result_args
是一个元组,包含存储过程的入参和出参,我们使用索引 -1
来获取最后一个元素,即存储过程的返回值。
运行上述代码,我们可以得到以下输出结果:
13
说明我们成功地执行了 MySQL 存储过程,并从中获取了一个返回值。
相关文章