本文实例为大家分享了Python3连接MySQL模拟转账的具体实现代码,供大家参考,具体内容如下
# coding:utf8 import sys import pymysql class TransferMoney(object): def __init__(self,conn): self.conn=conn def check_acct_available(self,acctid): cursor = self.conn.cursor() try: sql="select * from account where acctid=%s" % acctid cursor.execute(sql) print ("check_acct_available:" + sql) rs = cursor.fetchall() if len(rs) ! = 1: raise Exception("账号%s不存在"% acctid) finally: cursor.close() def has_enough_money(self,acctid,money): cursor = self.conn.cursor() try: sql="select * from account where acctid=%s and money>%s" % (acctid,money) cursor.execute(sql) print ("has_enough_money:"+sql) rs = cursor.fetchall() if len(rs) ! = 1: raise Exception("账号%s余额不足"% acctid) finally: cursor.close() def reduce_money(self,acctid,money): cursor = self.conn.cursor() try: sql = "update account set money=money-%s where acctid=%s" % (money,acctid) cursor.execute(sql) print ("reduce_money:"+sql) if cursor.rowcount ! = 1: raise Exception("账号%s减款失败" % acctid) finally: cursor.close() def add_money(self,acctid,money): cursor = self.conn.cursor() try: sql="update account set money=money+%s where acctid=%s" % (money,acctid) cursor.execute(sql) print ("add_money:"+sql) if cursor.rowcount ! = 1: raise Exception("账号%s加款失败" % acctid) finally: cursor.close() def transfer(self,source_acctid,target_acctid,money): try: self.check_acct_available(source_acctid) self.check_acct_available(target_acctid) self.has_enough_money(source_acctid,money) self.reduce_money(source_acctid,money) self.add_money(target_acctid,money) self.conn.commit() except Exception as e: self.conn.rollback() raise e if __name__ == "__main__": source_acctid = sys.argv[1] target_acctid = sys.argv[2] money = sys.argv[3] conn = pymysql.Connect( host = 'localhost', unix_socket = "..mysql/mysql.sock", port = 3306, user = 'root', passwd = '', db = 'python_db', ) tr_money = TransferMoney(conn) try: tr_money.transfer(source_acctid,target_acctid,money) except Exception as e: print ("出现问题" + str(e)) finally: conn.close()
以上就是本文的全部内容,希望对大家学习python程序设计有所帮助。
本文向大家介绍C++ 模拟实现list(迭代器)实现代码,包括了C++ 模拟实现list(迭代器)实现代码的使用技巧和注意事项,需要的朋友参考一下 C++ 模拟实现list(迭代器) 实现代码: 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
本文我们为大家介绍 Python3 使用 PyMySQL 连接数据库,并实现简单的增删改查。 什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。 PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。 PyMySQL 安装 在使用
本文向大家介绍python实现支付宝转账接口,包括了python实现支付宝转账接口的使用技巧和注意事项,需要的朋友参考一下 由于工作需要使用python开发一个自动转账接口,记录一下开发过程。 首先需要在蚂蚁金服上申请开通开发者账户,有了开发者账户就可以使用沙箱进行开发了。 在开发之前我们需要在沙箱应用中填写密钥,密钥的获取可以使用阿里提供的工具包自动生成。 前期准备工作完成了,接下来是编写代码部
问题内容: 我正在尝试使用PyMySQL连接到本地主机上的MySQL: 但是(在Python 2.7和Python 3.2上)我得到了错误: socket.error:[Errno 111]连接被拒绝 pymysql.err.OperationalError:(2003年,“无法连接到’localhost’(111)上的MySQL服务器”) 我确定mysqld正在运行,因为我可以使用command
本文向大家介绍Python3实现连接SQLite数据库的方法,包括了Python3实现连接SQLite数据库的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python3实现连接SQLite数据库的方法,对于Python的学习有不错的参考借鉴价值。分享给大家供大家参考之用。具体方法如下: 实例代码如下: 希望本文实例对大家的Python学习有所帮助。
本文向大家介绍springboot配置mysql连接的实例代码,包括了springboot配置mysql连接的实例代码的使用技巧和注意事项,需要的朋友参考一下 一:导入pmo.xm配置包 mysql库连接、druid连接池、mybatis组件 配置扫描文件 二:application.yml文件配置 三:编写dao层接口 使用注解:@Mapper 四:编写xml文件sql语句 到此这篇关于spri
本文向大家介绍pymysql模块的操作实例,包括了pymysql模块的操作实例的使用技巧和注意事项,需要的朋友参考一下 pymysql 模块! pymysql模块时一个第三方模块!需要下载: pymysql的基本使用: 我们可以通过python导入模块来连接数据库,进行登陆注册功能,在使用时sql会遇到注入问题 sql注入问题 利用特殊符号和注释语法 巧妙的绕过真正的sql校验,是用户数据不安全
本文向大家介绍Android模拟登录评论CSDN实现代码,包括了Android模拟登录评论CSDN实现代码的使用技巧和注意事项,需要的朋友参考一下 有时候作为非官方开发的APP集成了官方的所有信息,但是现在需要实现另一个功能那就是登录发表评论到官方的网站,而非官方的APP并不知道官方网站是怎么实现登录与评论的,而且越大型的网站,为了防止这样的事情发生,增加了许许多多阻碍,不过我们这里可以给大家提供