乐趣区

关于python:0209-Python库PyMySQL连接数据库

须要连贯数据库的场景

  1. 比方注册接口,同一个账号不能反复注册
  2. 比方流程性接口:登陆 - 绑定银行卡 - 解绑银行卡  测试解绑银行卡的时候,须要先造一个绑定银行卡的数据
  3. 批改状态的接口,比方一个接口有几种状态:已绑定 - 应用中 - 已登记 测试接口不同的状态时候,需还原数据
  4. 数据清理,测试实现清理垃圾数据 

装置

pip install PyMySQL 

连贯数据库

import pymysql

# 数据库信息
db_info = {
    "host": "127.0.0.1",  # ip
    "user": "root",  # 用户名
    "password": "123456",  # 明码
    "port": 3306}  # 端口


class DbConnect():
    def __init__(self, db_cof, database=""):
        self.db_cof = db_cof
        # 关上数据库连贯
        self.db = pymysql.connect(database=database,
                                  cursorclass=pymysql.cursors.DictCursor,
                                  **db_cof)

        # 应用 cursor() 办法获取操作游标
        self.cursor = self.db.cursor()

    def select(self, sql):
        # SQL 查问语句
        # sql = "SELECT * FROM EMPLOYEE \
        #        WHERE INCOME > %s" % (1000)
        self.cursor.execute(sql)
        results = self.cursor.fetchall()
        return results

    def execute(self, sql):
        # SQL 删除、提交、批改语句
        # sql = "DELETE FROM EMPLOYEE WHERE AGE > %s" % (20)
        try:
           # 执行 SQL 语句
           self.cursor.execute(sql)
           # 提交批改
           self.db.commit()
        except:
           # 产生谬误时回滚
           self.db.rollback()

        def close(self):
            # 敞开连贯
            self.db.close()


def select_sql(select_sql):
    '''查询数据库'''
    db = DbConnect(dbinfo, database="apps")
    result = db.select(select_sql)  # 查问
    db.close()
    return result

def execute_sql(insert_sql):
    '''执行 sql'''
    db = DbConnect(dbinfo, database="apps")
    db.execute(insert_sql)  # 查问
    db.close()
退出移动版