国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python3連接MySQL(pymysql)模擬轉賬實現代碼

2019-11-25 16:46:58
字體:
來源:轉載
供稿:網友

本文實例為大家分享了Python3連接MySQL模擬轉賬的具體實現代碼,供大家參考,具體內容如下

# coding:utf8import sysimport 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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江都市| 武强县| 银川市| 靖西县| 康保县| 沅江市| 蓝田县| 洪雅县| 延庆县| 长治市| 杭州市| 云和县| 塘沽区| 琼结县| 象州县| 晴隆县| 威远县| 铅山县| 馆陶县| 广德县| 上栗县| 汝州市| 东城区| 温州市| 于都县| 墨脱县| 烟台市| 林口县| 姚安县| 尼玛县| 昌江| 长武县| 宁陕县| 贵阳市| 梅州市| 西青区| 巴林右旗| 香港| 贞丰县| 丹凤县| 新营市|