当前位置: 首页 > news >正文

python调用数据库存储过程_Mysql学习---使用Python执行存储过程

使用Python执行存储过程

使用Python执行存储过程[2部分]: 1.执行存储过程,获取存储过程的结果集

2.将返回值设置给了 @_存储过程名_序号 =#!/usr/bin/env python

# -*- coding:utf-8 -*-

import pymysql

conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='test_python', charset='utf8')

cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)

# 执行存储过程

# @_p3_0 = 1, 相当于Python帮我们创建了变量,所以返回值也是放在了这个变量里面,需要我们手动获取

# @_p3_1 = 2

# @_p3_2 = 3

# @_p3_3 = 0

ret1 = cursor.callproc('p3', args=(1, 2, 3, 0))

# print('ret1:', ret1) # 传递参数过去 ret1: (1, 2, 3, 0),同时执行了存储过程将结果放在内存

result = cursor.fetchall() # 从内存获取返回值,[{'@_p3_0': 1, '@_p3_3': 7, '@_p3_1': 2, '@_p3_2': 103}]

print('返回的参数:', result, '\n')

# 获取执行完存储的参数,因为Python帮我们将结果放在了变量里,所以需要从变量里面获取

ret2 = cursor.execute("select @_p3_0,@_p3_1,@_p3_2,@_p3_3")

# print('ret2:', ret2) # 什么都不执行: ret2: 1

result2 = cursor.fetchall() # 获取返回值,[{'@_p3_0': 1, '@_p3_3': 7, '@_p3_1': 2, '@_p3_2': 103}]

print('返回的结果集:', result2)

conn.commit() # 因为存储过程里面有多个sql语句,可能有selete,insert等语句,所以为了保证代码的完整

cursor.close()

conn.close()

519608-20180729142443491-1245123192.png

519608-20180729142444660-111832941.png

相关文章:

  • python实现中值滤波_Python 实现中值滤波、均值滤波
  • bigdecimal不保留小数_深入理解 BigDecimal
  • mysql 去重复查询_MySQL事务隔离级别和实现原理(看这一篇文章就够了!)
  • matlab追赶法解三对角方程组_高斯消元法解线性方程组
  • case when then else_第6章 函数、谓词、CASE表达式及练习题
  • git add 撤销_Git中的各种后悔药
  • python 爬取实时数据django显示_django+echart数据动态显示的例子
  • python获取安卓手机的屏幕_[Python]从安卓手机获取屏幕截图
  • rust编程之道 pdf_哪种编程语言又快又省电?有人对比了27种语言
  • python判断一个元素是否在列表中_python判断元素在列表中是否存在
  • python中的可视化工具_Python中常用的可视化工具 Matplotlib 简单入门
  • it项目经理带一个项目的完整_项目经理,一个完整的项目管理流程你做对了吗?...
  • dll 调用exe_盘点RUNDLL32.EXE的多种滥用方式及检测特征
  • python安装launcher要选吗_python的launcher用法知识点总结
  • 怎么用geany配置python_Geany中怎么配置python?
  • hexo+github搭建个人博客
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • AWS实战 - 利用IAM对S3做访问控制
  • codis proxy处理流程
  • ES6核心特性
  • gf框架之分页模块(五) - 自定义分页
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • Java 网络编程(2):UDP 的使用
  • JavaScript的使用你知道几种?(上)
  • Netty 4.1 源代码学习:线程模型
  • python_bomb----数据类型总结
  • SOFAMosn配置模型
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • 读懂package.json -- 依赖管理
  • 对象管理器(defineProperty)学习笔记
  • 多线程 start 和 run 方法到底有什么区别?
  • 分享一份非常强势的Android面试题
  • 基于游标的分页接口实现
  • 检测对象或数组
  • 面试遇到的一些题
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 通过git安装npm私有模块
  • 一个完整Java Web项目背后的密码
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • ​secrets --- 生成管理密码的安全随机数​
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • (1)Android开发优化---------UI优化
  • (12)Linux 常见的三种进程状态
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (java)关于Thread的挂起和恢复
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (转)jQuery 基础
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • ******IT公司面试题汇总+优秀技术博客汇总
  • .NET CF命令行调试器MDbg入门(三) 进程控制