面向對象實例三-數據庫
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(‘我是最後一行代碼了。。。‘)
面向對象實例三-數據庫