最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python3連接MySQL(pymysql)模擬轉(zhuǎn)賬實(shí)現(xiàn)代碼

 更新時間:2016年05月24日 16:11:32   作者:沙拉虎  
這篇文章主要介紹了Python3連接MySQL(pymysql)模擬轉(zhuǎn)賬實(shí)現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Python3連接MySQL模擬轉(zhuǎn)賬的具體實(shí)現(xiàn)代碼,供大家參考,具體內(nèi)容如下

# 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 ("出現(xiàn)問題" + str(e))
  finally:
    conn.close()

以上就是本文的全部內(nèi)容,希望對大家學(xué)習(xí)python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • python常用的正則表達(dá)式大全

    python常用的正則表達(dá)式大全

    正則表達(dá)式是一個特殊的字符序列,它能幫助你方便的檢查一個字符串是否與某種模式匹配,下面這篇文章主要給大家介紹了關(guān)于python常用正則表達(dá)式的相關(guān)資料,文中通過圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02
  • Python實(shí)現(xiàn)字符串模糊匹配詳解

    Python實(shí)現(xiàn)字符串模糊匹配詳解

    這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)字符串模糊匹配的相關(guān)知識,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,感興趣的小伙伴可以了解下
    2023-11-11
  • 推薦11個實(shí)用Python庫

    推薦11個實(shí)用Python庫

    這篇文章主要推薦了11個實(shí)用Python庫,都有這不錯的群眾基礎(chǔ),非常好用,也都很實(shí)用,推薦給大家。
    2015-01-01
  • Python實(shí)現(xiàn)刪除時保留特定文件夾和文件的示例

    Python實(shí)現(xiàn)刪除時保留特定文件夾和文件的示例

    下面小編就為大家分享一篇Python實(shí)現(xiàn)刪除時保留特定文件夾和文件的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • 一篇文章帶你了解python中的typing模塊和類型注解

    一篇文章帶你了解python中的typing模塊和類型注解

    這篇文章主要為大家詳細(xì)介紹了python中的類型注解,使用typing模塊,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • Python實(shí)現(xiàn)關(guān)鍵路徑和七格圖計(jì)算詳解

    Python實(shí)現(xiàn)關(guān)鍵路徑和七格圖計(jì)算詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)關(guān)鍵路徑和七格圖計(jì)算,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下
    2023-03-03
  • 基于python3抓取pinpoint應(yīng)用信息入庫

    基于python3抓取pinpoint應(yīng)用信息入庫

    這篇文章主要介紹了基于python3抓取pinpoint應(yīng)用信息入庫,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • Python的數(shù)據(jù)類型與標(biāo)識符和判斷語句詳解

    Python的數(shù)據(jù)類型與標(biāo)識符和判斷語句詳解

    在本篇文章里小編給大家整理了一篇關(guān)于python數(shù)據(jù)類型與標(biāo)識符和判斷語句的介紹,有需要的朋友們可以學(xué)習(xí)下,希望能夠給你帶來幫助
    2021-09-09
  • python 實(shí)現(xiàn)一個圖形界面的匯率計(jì)算器

    python 實(shí)現(xiàn)一個圖形界面的匯率計(jì)算器

    這篇文章主要介紹了python 實(shí)現(xiàn)一個圖形界面的匯率計(jì)算器,幫助大家更好的理解和學(xué)習(xí)如何制作gui程序,感興趣的朋友可以了解下
    2020-11-11
  • 用Python編程實(shí)現(xiàn)語音控制電腦

    用Python編程實(shí)現(xiàn)語音控制電腦

    是否經(jīng)常好萊塢電影里看強(qiáng)大的語音識別系統(tǒng)? 是否每每看到都會羨慕嫉妒恨? 可是我們真心買不起啊。
    2014-04-04

最新評論

施秉县| 克拉玛依市| 泾源县| 平乐县| 瑞金市| 新兴县| 宜君县| 大竹县| 甘谷县| 平邑县| 汝州市| 华容县| 荆门市| 吴堡县| 周至县| 株洲县| 柳林县| 巨鹿县| 大同市| 靖安县| 密山市| 佳木斯市| 邳州市| 锡林郭勒盟| 云霄县| 青岛市| 西峡县| 浦东新区| 花莲市| 南川市| 万安县| 方山县| 洪湖市| 宿迁市| 竹山县| 延长县| 新余市| 南投市| 陇川县| 巴彦淖尔市| 紫阳县|