2021-05-07数据库连接封装

import pymysql

from warningsimport filterwarnings

# 忽略MySql告警信息

filterwarnings("ignore", category=pymysql.Warning)

class MysqlDb:

def __init__(self):

# 建立数据库连接

        self.conn = pymysql.connect(host="127.0.0.1", port=3306, user="root", passwd="123456", db="case_demo",

                                    charset="utf8")

# 使用cursor方法获取操作游标,得到一个可以执行的sql语句,并且操作结果作为字典返回的游标

        self.cursor =self.conn.cursor(cursor=pymysql.cursors.DictCursor)

def __del__(self):

# 关闭游标

        self.cursor.close()

# 关闭连接

        self.conn.close()

def query(self, sql, state="all"):

"""

        查询

        :paramsql:

        :param state: all默认查询全部

        :return:

"""

        self.cursor.execute(sql)

if state =="all":

# 查询全部

            data =self.cursor.fetchall()

else:

# 查询单条

            data =self.cursor.fetchone()

return data

def execute(self, sql):

"""

        更新、删除、新增

        :paramsql:

        :return:

"""

        try:

# 使用execute操作sql

            rows =self.cursor.execute(sql)

# 提交事务

            self.conn.commit()

return rows

except Exception as e:

print(f"数据库操作异常{e}")

# 回滚修改

            self.conn.rollback()

if __name__ =='__main__':

mydb = MysqlDb()

# r = mydb.query(sql="select * from config", state="all")

    r=mydb

print(r)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容