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

首頁 > 編程 > Python > 正文

python實現的MySQL增刪改查操作實例小結

2020-01-04 13:46:25
字體:
來源:轉載
供稿:網友

本文實例總結了python實現的MySQL增刪改查操作。分享給大家供大家參考,具體如下:

代碼片段一

連接并執行sql

#encoding:UTF-8import MySQLdbconn = MySQLdb.Connect(  host = '127.0.0.1',  port = 3306,  user = 'root',  passwd='123456',  db='imooc',  charset='utf8')cursor = conn.cursor()print connprint cursorsql = "select * from user"cursor.execute(sql) #執行

取數據

print cursor.rowcount#取數據#fetchone()獲取一條數據#fetchany(3)獲取多條#fetchall()#獲取客戶緩沖區的所有數據# rs = cursor.fetchone()# print rs## rs = cursor.fetchmany(2)# print rs## rs = cursor.fetchall()# print rs# rs = cursor.fetchall()# for row in rs:#   print "userid=%s,username=%s" % row

更新數據庫

# sql_insert = "insert into user(userid,username) values(10,'name10')"# sql_update = "update user set username='name91' where userid=9"# sql_delete = "delete from user where userid<3"# cursor.execute(sql_insert)# cursor.execute(sql_update)# cursor.execute(sql_delete)# #執行完后提交# conn.commit()# #發生異常時回滾# try:#   sql_insert = "insert into user(userid,username) values(10,'name10')"#   sql_update = "update user set username='name91' where userid=9"#   sql_delete = "delete from user where userid<3"#   cursor.execute(sql_insert)#   cursor.execute(sql_update)#   cursor.execute(sql_delete)#   conn.commit()# except Exception as e:#   print e#   conn.rollback()cursor.close()conn.close()

代碼片段2 銀行實例

#coding:UTF-8import sysimport MySQLdbclass TransferMoney(object):  def __init__(self,conn):    self.conn = conn  def tranfer(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  def check_acct_available(self, acctid):    cursor = self.conn.cursor()    try:      sql = "select * from account where acctid=%s"%acctid      cursor.execute(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 "reduce_money:" + sql      if cursor.rowcount != 1:        raise Exception("賬號%s加款失敗" % acctid)    finally:      cursor.close()if __name__ == "__main__":  source_acctid = sys.argv[1]  target_acctid = sys.argv[2]  money = sys.argv[3]  conn = MySQLdb.Connect(    host='127.0.0.1',    port=3306,    user='root',    passwd='123456',    db='imooc',    charset='utf8'  )  tr_money = TransferMoney(conn)  try:    tr_money.tranfer(source_acctid,target_acctid,money)  except Exception as e:    print "出現問題了" + str(e)  finally:    conn.close()

希望本文所述對大家Python程序設計有所幫助。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 禄丰县| 鄂托克旗| 尤溪县| 堆龙德庆县| 本溪| 唐山市| 娄烦县| 左贡县| 隆昌县| 司法| 哈巴河县| 大安市| 邢台市| 麻栗坡县| 毕节市| 新宁县| 临邑县| 张家口市| 阿勒泰市| 昌邑市| 宜宾市| 图木舒克市| 且末县| 东阳市| 贵溪市| 沙洋县| 乐东| 陆良县| 西充县| 大关县| 梧州市| 昭平县| 雅安市| 鄂伦春自治旗| 山阴县| 罗定市| 临清市| 新安县| 健康| 宁都县| 瑞昌市|