1.工具类代码
import pymysql
from pymysql.cursors import DictCursor
class HandleSql:
def __init__(self, db_config):
engine = db_config.pop('engine', 'mysql')
if engine.lower() == 'mysql':
self.conn = pymysql.connect(**db_config)
else:
pass
def get_fetchone(self, sql, res_type='t'):
"""
返回一条数据
:param sql:
:param size: 默认返回元组
:return:
"""
if res_type == 't':
with self.conn.cursor() as cursor:
cursor.execute(sql)
return cursor.fetchone()
else:
with self.conn.cursor(DictCursor) as cursor:
cursor.execute(sql)
return cursor.fetchone()
def get_fetchmany(self, sql, size, res_type='t'):
if res_type == 't':
with self.conn.cursor() as cursor:
cursor.execute(sql)
return cursor.fetchmany(size)
else:
with self.conn.cursor(DictCursor) as cursor:
cursor.execute(sql)
return cursor.fetchmany(size)
def get_fetchall(self, sql, res_type='t'):
if res_type == 't':
with self.conn.cursor() as cursor:
cursor.execute(sql)
return cursor.fetchall()
else:
with self.conn.cursor(DictCursor) as cursor:
cursor.execute(sql)
return cursor.fetchall()
def exist_sql(self, sql):
if self.get_fetchone(sql):
return True
else:
return False
def __del__(self):
self.conn.close()
2.调用方
from xxxx.tz_mysql import HandleSql
db_config = {
'host': '192.168.1.xx',
'user': 'xx',
'password': 'xxx',
'port': 3306,
'database': 'xxx'
}
HandleSql(db_config).get_fetchall(sql='select * from xxx',res_type='')