import pymysql
from Common import dir_config
from Common.readconfig import ReadConfig
import logging
from Common import logger
class DoMysql:
def __init__(self):
self.config = ReadConfig().read_config(dir_config.db_config_path, "DB", "Config")
logging.info("开始连接数据库")
try:
self.db = pymysql.connect(**self.config)
logging.info("连接数据库成功")
except:
logging.info("数据库连接失败")
raise
def ExecQuery(self, sql):
'''
执行查询语句
:param sql:
:return:
'''
cursor = self.db.cursor()
try:
cursor.execute(sql) # 执行sql、
logging.info("执行sql成功")
except:
logging.info("执行sql失败")
raise
# res=cursor.fetchone() #单 返回的是一个元组
res = cursor.fetchall() # 多 返回的是一个嵌套元组的列表
# 关掉游标 关掉连接
cursor.close()
self.db.close()
logging.info("执行结果返回值:{0}".format(res))
return res
def ExecNonQuery(self, sql):
'''
执行非查询语句
:param sql:
:return:
'''
cursor = self.db.cursor()
try:
cursor.execute(sql)
logging.info("执行sql成功")
except:
logging.info("执行sql失败")
raise
# commit()方法:在数据库里增、删、改的时候,必须要进行提交,否则插入的数据不生效。
self.db.commit()
cursor.close()
self.db.close()