网站百度网盘,wordpress怎么破解主题,17网店货源网,随州建设网站总结#xff1a;1、使用这种方法#xff0c;获取到的返回值总是最后一条命令的返回值#xff0c;如果最后一条命令是update或者delete这种sql#xff0c;则返回为#xff08;#xff09;
2、sql的每一条语句后面都需要添加一个分号#xff0c;不然最后splice时候 #…总结1、使用这种方法获取到的返回值总是最后一条命令的返回值如果最后一条命令是update或者delete这种sql则返回为
2、sql的每一条语句后面都需要添加一个分号不然最后splice时候 会少一条语句
#-*- coding:utf-8 -*-author:yaren_zhou
file: DButils.py
time: 2019/12/06 14:56
contact: 1601704037qq.com
software: PyCharmimport pymysql
import logging
logger logging.getLogger(__name__) #操作日志对象
class MysqlConn():数据库连接的公共类提供连接数据库查询删除语句等操作def __init__(self,dbName None):
self.currentConn None
self.host your host
self.user username
self.password password
self.dbName dbName
self.charset utf8mb4
self.resultlist []
def open(self):
try:
conn pymysql.connect(
host self.host,
user self.user,
password self.password,
db self.dbName,
charsetself.charset,
)
except pymysql.err.OperationalError as e:
logger.exception(数据库连接失败)
if Errno 10060 in str(e) or 2003 in str(e):
logger.error(数据库连接失败)
raise
logger.info(f数据库连接成功)
self.currentConn conn # 数据库连接完成
self.cursor self.currentConn.cursor() # 游标用来执行数据库
# 把多条sql拆分成单条放进sqllist里面
def spliteSql(self,sql):
sqllist sql.split(;)
return sqllist[0:-1]
#最后面会多一条空值
def execSql(self,sql:str,closeConn True) - list:
执行sql,支持执行多条sql语句。
self.open()
sqllist self.spliteSql(sql) #先处理传入的sql语句
logger.info(f开始执行sql语句)
with self.cursor as my_cursor:
for i in sqllist:
my_cursor.execute(i) #执行sql语句
self.resultlist my_cursor.fetchall() #获取数据
self.currentConn.commit() #提交
if self.currentConn:
self.close()
return self.resultlist
# def execProc(self):
def close(self): #关闭连接
logger.info(f关闭数据库连接)
if self.cursor:
self.cursor.close()
self.currentConn.close()