第一步,安装pymysql库:pip install pymysql
第二步,创建一个db_utils.py
第三步,上封装好的代码:
import pymysql from pymysql.cursors import DictCursor
class MySqlUtils: def __init__(self, host=None, port=0, user=None, passwd=None, db=None, charset='utf8'): self.conn = pymysql.connect(host=host, port=port, user=user, passwd=passwd, # password也可以 db=db, #数据库名称 charset=charset, # 如果查询有中文需要指定数据库编码 cursorclass=DictCursor) #返回字典 self.cursor = self.conn.cursor() def query(self, sql, args=None, fetchall=True): self.cursor.execute(sql, args=args) if fetchall: #默认查询所有数据 res = self.cursor.fetchall() else: res = self.cursor.fetchone() return res def close_db(self):#关闭游标、连接 self.cursor.close() self.conn.close()
第四步,使用:
mysql_utils = MySqlUtils(host=host, port=port, user=user, passwd=passwd, db=db)
res = mysql_utils.query("select * from 表名 where id = %s", "要查询的id") print(res) mysql_utils.close_db()
注:可以多封装一些常用的方法进去如
def query_name(self, name): self.cursor.execute("select * from 表名 where name = %s", args=[name, ]) return self.cursor.fetchall()
调用的时候直接
mysql_utils.query_name(name="xxx")就可以了,省得每次都要写一遍sql