下面展示一些 内联代码片。
//第一版封装
class MysqlHandler():
def __init__(
self,
host=None,
port=3306,
user=None,
password=None,
charset='utf8',
cursorclass=DictCursor
):
self.conn = pymysql.connect(
host=host,
port=port,
user=user,
password=password,
charset=charset,
cursorclass=cursorclass
)
self.cursor = self.conn.cursor()
def query(self, sql, one=True):
self.conn.commit() # 把最新的数据进行更新(提交事务。)
self.cursor.execute(sql)
if one:
return self.cursor.fetchone()
return self.cursor.fetchall()
def query_all(self):
pass
def close(self):
self.cursor.close()
self.conn.close()
if __name__ == '__main__':
pass
第二版封装
#第二版优化
#优化原因:1、增、删、改数据库操作后由于没有执行commit提交操作,导致未增删改操作未生效
#优化解决:1、self.cursor.execute(sql)后,增加self.conn.commit()操作
#优化点二:封装的初始化函数中缺少数据库名称的初始化database=None
#优化解决:__init__函数中增加database=None
class MysqlHandler():
def __init__(
self,
host=None,
port=3306,
user=None,
password=None,
charset='utf8',
cursorclass=DictCursor,
database=None
):
self.conn = pymysql.connect(
host=host,
port=port,
user=user,
password=password,
charset=charset,
cursorclass=cursorclass,
database=database
)
self.cursor = self.conn.cursor()
def query(self, sql, one=True):
self.conn.commit() # 把最新的数据进行更新(提交事务。)
self.cursor.execute(sql)
self.conn.commit() #对于增删改的数据需要进行(提交事务)
if one:
return self.cursor.fetchone()
return self.cursor.fetchall()
def query_all(self):
pass
def close(self):
self.cursor.close()
self.conn.close()
if __name__ == '__main__':
pass



