数据库的操作封装成类
把数据库操作写成函数:每次都得连接数据库一次连接一次提交,重复操作浪费时间
把数据库操作写成类:一次连接可以多次提交,最佳重复操作时不需要关闭数据库
import pymysql
class SQLManager(object):
def __init__(self): #实例化后自动执行此函数
self.connect()
def connect(self): #此时进入数据库,游标也已经就绪
self.conn = pymysql.connect(host="127.0.0.1", port=3306, user="root", passwd="123", db="day66", charset="utf8")
self.cursor = self.conn.cursor(cursor=pymysql.cursors.DictCursor)
def get_list(self, sql, args=None):
self.cursor.execute(sql, args)
result = self.cursor.fetchall()
return result
def get_one(self, sql, args=None):
self.cursor.execute(sql, args)
result = self.cursor.fetchone()
return result
def run(self, sql, args=None):
self.cursor.execute(sql, args)
self.conn.commit()
def create(self, sql, args=None):
self.cursor.execute(sql, args)
self.conn.commit()
ret = self.cursor.lastrowid # 取到刚才创建的记录的ID
return ret
def m_create(self, sql, args=None):
# self.cursor.executemany(sql, [(1, 36), (1, 38), (1, 36)])
self.cursor.executemany(sql, args) # 批量执行
self.conn.commit()
ret = self.cursor.lastrowid # 取到刚才创建的记录的ID
return ret
def close(self):
self.cursor.close()
self.conn.close()