import pymysql
import threading
from pymysql.cursors import DictCursor
from settings import HOST, PORT, USER, PASSWORD, DATABASE
from nxlog import log_handler
logger = log_handler('pymysql')
def pymysql_list_select(sql):
"""mysql读操作"""
connect = pymysql.Connect(host=HOST,
port=PORT,
user=USER,
passwd=PASSWORD,
db=DATABASE,
charset='utf8')
connect.ping(reconnect=True)
cursor = connect.cursor()
lock = threading.Lock()
lock.acquire()
cursor.execute(sql)
lock.release()
res = cursor.fetchall()
logger.info('pymysql_list_select:{0}'.format(res))
logger.info(res)
connect.commit()
cursor.close()
return res
def pymysql_dict_select(sql):
"""mysql读操作"""
connect = pymysql.Connect(host=HOST,
port=PORT,
user=USER,
passwd=PASSWORD,
db=DATABASE,
charset='utf8')
connect.ping(reconnect=True)
cursor = connect.cursor(DictCursor)
lock = threading.Lock()
lock.acquire()
cursor.execute(sql)
lock.release()
res = cursor.fetchall()
logger.info('pymysql_dict_select:{0}'.format(res))
logger.info(res)
connect.commit()
cursor.close()
return res
def pymysql_write(sql):
"""mysql写操作"""
try:
connect = pymysql.Connect(host=HOST,
port=PORT,
user=USER,
passwd=PASSWORD,
db=DATABASE,
charset='utf8')
connect.ping(reconnect=True)
cursor = connect.cursor()
lock = threading.Lock()
lock.acquire()
res = cursor.execute(sql)
logger.info("pymysql_write:{0}".format(res))
logger.info(res)
lock.release()
connect.commit()
except Exception as e:
logger.info("pymysql写错误:{0}".format(e))