直接上代码:
import pymysql
class ConnDB(object):
def __init__(self, base: str):
"""
建立MySQL连接
:param base: 数据库
"""
self.DB = pymysql.connect(host='127.0.0.1', user='root', password='')
self.cur = None
self.conn_cur = base
@property
def conn_cur(self):
"""
获取游标
:return:
"""
return self.cur
@conn_cur.setter
def conn_cur(self, base: str):
"""
设置数据库与游标
:param base: 数据库
:return:
"""
self.DB.select_db(base)
if self.cur:
self.cur.close()
self.cur = self.DB.cursor()
def execute(self, sql: str, data: (list, tuple) = None):
"""
提交sql语句
:param sql: sql语句
:param data: 数据
:return:
"""
try:
if isinstance(data, list):
self.cur.executemany(sql, data)
else:
self.cur.execute(sql, data)
self.DB.commit()
data = self.cur.fetchall() # 使用fetchone()方法获取单条数据
return data
except Exception as e:
print(e)
self.DB.rollback() # 发生错误时回滚
def __del__(self):
"""
关闭数据库
:return:
"""
self.DB.close()
- 连接数据库
db = ConnDB('test_db1')
- 切换数据库游标
db.conn_cur = 'test_db2'
- 提交sql语句
print(db.execute('show tables'))
如有不妥之处,还请指出。谢谢观看。