import pymysql
# 涉及多个环境的话,建议采用配置文件,根据配置文件名称执行
host="111.1.1.1"
username="abc"
password="abc"
db="db"
class MySQLUtil:
def __init__(self,host,username,password,db,type=0,charset='utf8',port=3306):
print('start mysql operation')
self.host=host
self.username=username
self.password=password
self.db=db
self.charset=charset
self.port=port
self.type=type
def connect(self):
self.conn=pymysql.connect(host=self.host,port=self.port,user=self.username,password=self.password,db=self.db,charset=self.charset)
# 游标类型默认元组形式;将游标类型设置为字典形式
if self.type==0:
self.cursor = self.conn.cursor()
elif self.type==1:
self.cursor=self.conn.cursor(cursor=pymysql.cursors.DictCursor)
def close(self):
'''关闭连接'''
self.cursor.close()
self.conn.close()
def get_one(self,sql,params=()):
'''
查询一条数据
:param sql:
:param value:
:return:
'''
result=None
try:
self.connect()
self.cursor.execute(sql,params)
result=self.cursor.fetchone()
self.close()
except Exception as e:
print('repr(e):\t', repr(e))
return result
def get_topN(self,n,sql,params=()):
'''
查询前n条数据
:param sql:
:param value:
:return:
'''
result=None
try:
self.connect()
self.cursor.execute(sql,params)
result=self.cursor.fetchmany(n)
self.close()
except Exception as e:
print('repr(e):\t', repr(e))
return result
def get_all(self,sql,params=()):
'''
查询所有数据
:param sql:
:param value:
:return:
'''
result = []
try:
self.connect()
self.cursor.execute(sql, params)
for i in self.cursor.fetchall():
# print(i)
result.append(i)
self.close()
except Exception as e:
print('repr(e):\t', repr(e))
return result
def insert(self,sql,params=()):
return self._edit(sql, params)
def update(self,sql,params=()):
'''
修改
:param sql:
:param value:
:return:
'''
return self._commit(sql, params)
def delete(self,sql,params=()):
'''
删除
:param sql:
:param value:
:return:
'''
return self._commit(sql, params)
def _commit(self,sql,params=()):
result = 0
try:
self.connect()
result = self.cursor.execute(sql, params)
self.conn.commit()
self.close()
except Exception as e:
print('repr(e):\t', repr(e))
return result
if __name__ == '__main__':
#先初始化类,然后链接数据库,然后查新数据
a=MySQLUtil(host,username,password,db,1)
a.connect()
a.get_topN(10,'select ID from Account where abc=%s','abc')
a.close()
python操作mysql的基本操作
最新推荐文章于 2024-08-02 10:02:30 发布