1. 程式人生 > >面向對象實例三-數據庫

面向對象實例三-數據庫

int class cep har passwd mit char 面向對象 fetch

import pymysql
class MyDb(object):
  def __del__(self): #不寫也會執行(隱藏的函數,在執行最後一行代碼後自動執行,用於取消內存的占用),只是利用析構函數來進行 遊標、數據庫連接 關閉的操作
    #析構函數
    self.cur.close()
    self.coon.close()
    print(‘over...‘)
  def __init__(self,
    host,user,passwd,db,
    port=3306,charset=‘utf8‘):
    try:
      self.coon = pymysql.connect(
        host=host,user=user,passwd=passwd,port=port,charset=charset,db=db,
        autocommit=True,#自動提交
        )
    except Exception as e:
      print(‘數據庫連接失敗!%s‘%e)
    else:
      self.cur = self.coon.cursor(cursor=pymysql.cursors.DictCursor)
  def ex_sql(self,sql):
    try:
      self.cur.execute(sql)
    except Exception as e:
      print(‘sql語句有問題,%s‘%sql)
    else:
      self.res = self.cur.fetchall()
      return self.res

my = MyDb(‘xxx.xxx.xxx.xxx‘,‘xxx,‘xxx‘,‘xxx‘)
my.ex_sql(‘select * from stu;‘)
print(my.res)
print(‘我是最後一行代碼了。。。‘)

面向對象實例三-數據庫