Python 记录操作MySql数据库(封装)——优雅
学了pymysql第三方库(pip install pymysql)来操作MySql数据库后,浅记一下对MySql进行 《关于我的MySql之优雅封装这件事儿》 。这里只涉及了单表的增、删、查、改这些简单地封装操作,便于对简单的sql语句进行快速使用。
首页,利用Navicat连接本地的MySql数据库来快速新建一个(pythondemo)数据库,在里面快速创建两张空表(tb_test,tb_user)用于测试,其中主要使用tb_user表来进行数据测试,如下图进行tb_user的简单设计(将其中的id字段设为自动递增,便于在insert插入数据时少写一个字段。):
能实现简单的功能有:
- 以元组类型快速insert插入数据
- 通过id删除数据
- 通过传入id快速查询返回一条数据,返回结果
- 直接调用方法查询表中所有数据,返回结果
- 指定查询返回多少条数数据,可根据简单条件查询(where 字段=”“),返回结果
- 通过id修改数据
- 可通过自定义sql语句执行
将以下代码可复制到一个py模块中即可运行(注意:要修改自己连接的数据库配置)!!!
封装代码
# -*- coding:utf-8 -*- """ @File : my_mysql.py @Time : 2022/9/3 17:32 """ import pymysql class MySql: def __init__(self, operate_tablename:str,my_sqldb_config_param:dict): assert isinstance(my_sqldb_config_param,dict),"请以字典类型的格式传入!" self._operate_tablename = operate_tablename try: self._conn = pymysql.connect(**my_sqldb_config_param) # 连接数据库,配置参数 self._cursor = self._conn.cursor() # 创建一个游标,用来执行查询 self._get_field() # 获取此表中的字段名 except Exception as e: raise Exception(f"数据库连接失败!!!\n请检查表名、配置参数是否正确或检查本地数据库是否已启动!\n{ e}") # 获取_conn对象 @property def get_connect(self): return self._conn # 获取_cursor对象 @property def get_cursor(self): return self._cursor # 获取__desc对象 @property def get_description(self): # print(f"{self._operate_tablename}表中的字段属性:",self._desc) return self._desc # 获取正在操作的表名 @property def operate_tablename(self): return f"正在操作 { self._o