存储过程一般来说在数据库中直接定义,然后在python中调用
新建存储过程:
运行
结果符合预期,接下来在python调用它
import pymysql
conn = pymysql.connect(host='127.0.0.1', user='root', password='root', database='fruitdb', charset='utf8')
cur = conn.cursor()
cur.callproc('searchAllFruit')
conn.commit()
result = cur.fetchall()
print('{0} {1} {2} {3}'.format('名称', '价格', '数量', '总价'))
for row in result:
name = row[0]
price = row[1]
count = row[2]
total = row[3]
print('{0} {1} {2} {3}'.format(name, price, count, total))
conn.close()
运行完结果一致,成功啦!
*注意:*
使用callproc()方法时,存储过程名需要打“ ”,参数以元组的形式跟在后面,输出的参数用数字0来占位。