一、pymsql介绍

pymsql是第三方库,用于连接mysql。
直接命令即可安装:pip install pymsql
安装后可能会提示:Read timed out ,再次输入安装即可

二、流程

连接数据库、获取操作游标、操作数据库、结束操作,关闭游标、关闭连接

三、示例代码

import pymysql
from warnings import filterwarnings   #忽略操作mysql时的一些警告

#忽略mysql告警信息
filterwarnings("ignore", category=pymysql.Warning)

class MysqlDb:
    def __init__(self):
        """
        初始化数据库,连接数据库、获取操作游标
        :return:
        """
        #连接数据库 ("本机数据库地址", "数据库用户名", "数据库密码", "数据库名称")
        self.conn = pymysql.connect("127.0.0.1", "root", "888888", "crm")
        #获取操作游标
        self.cur = self.conn.cursor(cursor=pymysql.cursors.DictCursor)
    def __del__(self):
        """
        结束操作,关闭游标、关闭连接
        :return:
        """
        #关闭游标
        self.cur.close()
        #关闭连接
        self.conn.close()

    def query(self, sql, state="all"):
        """
        查询
        :param sql:
        :param state:
        :return:
        """
        try:
            #查询数据库,sql输入查询的语句
            self.cur.execute(sql)
            if state == "all":
                #查询全部
                data = self.cur.fetchall()
            else:
                #单条查询
                data = self.cur.fetchone()
            return data
        except Exception as e:
            print("数据库查询异常:%s"% e)

    def execute(self, sql):
        """
        更新、删除、新增
        :param sql:
        :return:
        """
        try:
            #操作数据库,sql输入更新、删除、新增的语句
            rows = self.cur.execute(sql)
            #提交事务
            self.conn.commit()
            return rows
        except Exception as e:
            print("s数据库操作异常:%s"%e)
            #不成功的话就撤销数据 conn.rollback()
            self.conn.rollback()

if __name__ == '__main__':
    # 创建一个实例
    my_db = MysqlDb()
    #查询
    result = my_db.query("select * from `case`")
    print(result)
    # 新增
    rows = my_db.execute("insert into `case` (`app`) value('hah')")
    print(rows)
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐