python3封装pymysql,方便快速调用

本文介绍了如何对pymysql进行简单的二次封装,以便更方便快捷地进行MySQL数据库的操作。通过导入封装后的模块并连接数据库,可以轻松执行select、update、insert、delete等操作。
摘要由CSDN通过智能技术生成

介绍

这是通过对pymysql进行的二次简单封装,封装后可以很方便地调用以对mysql数据库进行操作。
引用方式:在要使用数据库的地方import该对象,然后通过AmanMySQL(mysql[“host”], mysql[“user”], mysql[“passwd”], mysql[“dbName”])连接数据库赋值给某一变量,之后就可以通过对应变量对select、update、insert、delete等对数据库做操作。源码和示例如下:

源码

#encoding: utf-8

import pymysql

class AmanMySQL():
    # 初始化
    def __init__(self, host, user, passwd, dbName):
        self.host = host
        self.user = user
        self.passwd = passwd
        self.dbName = dbName
    
    # 连接数据库,需要传数据库地址、用户名、密码、数据库名称,默认设置了编码信息
    def connet(self):
        try:
            self.db = pymysql.connect(self.host, self.user, self.passwd, self.dbName, use_unicode=True, charset='utf8')
            self.cursor = self.db.cursor()
        except Exception as e:
            return e
    
     # 关闭数据库连接 
    def close(self):
        try:
            self.cursor.close()
            self.db.close()
        except Exception as e:
            return e

     # 查询操作,查询单条数据
    def get_one(self, sql):
        # res = None
        try:
            self.connet()
            self.cursor.execute(sql)
            res = self.cursor.fetchone()
            self.close()
        except Exception:
            res = None
        return res

     # 查询操作,查询多条数据
    def get_all(self, sql):
        # res = ()
        try:
            self.connet()
            self.cursor.execute(sql)
            res = self.cursor.fetchall()
            self.close()
        except Exception:
            res = ()
        return res
   
     # 查询数据库对象
    def get_all_obj(self, sql, tableName, *args):
        resList = []
        fieldsList = []
        try:
            if (len(args) > 0):
                for item in args:
                    fieldsList.append(item)
            else:
                fieldsSql = "select COLUMN_NAME from information_schema.COLUMNS where table_name = '%s' and table_schema = '%s'" % (
                    tableName, self.dbName)
                fields = self.get_all(fieldsSql)
                for item in fields:
                    fieldsList.append(item[0
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在 UI 自动化测试中,如果需要使用 PyMySQL 进行数据库操作,可以将 PyMySQL 封装成一个类,使得 UI 自动化测试代码可以更方便调用数据库操作。 以下是一个 PyMySQL 封装类的示例: ```python import pymysql class DBHelper: def __init__(self, host, port, user, password, db): self.conn = pymysql.connect( host=host, port=port, user=user, password=password, db=db, charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor ) def execute_sql(self, sql): try: with self.conn.cursor() as cursor: cursor.execute(sql) self.conn.commit() result = cursor.fetchall() return result except Exception as e: print(f"Error: {e}") ``` 在上述代码中,我们定义了一个名为 `DBHelper` 的类,该类接受五个参数:`host`、`port`、`user`、`password` 和 `db`,这些参数分别对应着数据库的主机地址、端口、用户名、密码以及数据库名。 在类的 `__init__` 方法中,我们使用 PyMySQL 创建了一个数据库连接。在 `execute_sql` 方法中,我们可以执行任意 SQL 查询语句,并返回查询结果。 在 UI 自动化测试代码中,我们可以使用以下代码来实例化 DBHelper 类,并调用其中的 `execute_sql` 方法: ```python db = DBHelper('localhost', 3306, 'user', 'password', 'my_database') result = db.execute_sql('SELECT * FROM my_table') ``` 上述代码中,我们实例化了 DBHelper 类,并传递了相应的参数。然后,我们调用 `execute_sql` 方法来执行 SQL 查询语句,并将结果赋值给变量 `result`。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值