python对pymysql进行封装

  1. 首先创建一个config.py文件
  2. 填写一些数据
    1. # 数据库连接的ip地址
      db_host = '127.0.0.1'
    2. # 数据库端口号
      db_port = 3306
    3. # 数据库登录账号
      db_user = 'root'
    4. # 数据库登录密码
      db_password = 'root'
    5. # 数据库名称
      db_database = "myst"
    6. # 字符集设置
      db_charset = 'utf8'
    7. 注意
      1. 这个里面的参数设置,可以填写自己mysql数据库的ip地址,端口号,用户名,密码,账号等一些信息
    8. 完整的config文件内容
      1. # 初始化连接数据库参数
        # 数据库连接的ip地址
        db_host = '127.0.0.1'
        # 数据库端口号
        db_port = 3306
        # 数据库登录账号
        db_user = 'root'
        # 数据库登录密码
        db_password = 'root'
        # 数据库名称
        db_database = "myst"
        # 字符集设置
        db_charset = 'utf8'
        

  3. 创建DBUtil.py文件
  4. 编写封装内容
    1. 导入config 文件
    2. 导入pymysql包
    3. 创建DBUtil类,并且初始化参数
      1. 初始化
        1. # 初始化
          def __init__(self,host=config.db_host,
                       port=config.db_port,
                       user=config.db_user,
                       password=config.db_password,
                       database=config.db_database,
                       charset=config.db_charset,):
          
        2. 设置私有属性
          1. # 设置私有属性
            self.host = host
            self.port = port
            self.user = user
            self.password = password
            self.database = database
            self.charset = charset
        3. 设置创建连接数据库配置信息
          1. # 初始化数据库连接配置
            self.connect_mysql = pymysql.connect(
                host=host,
                port=port,
                user=user,
                password=password,
                database=database,
                charset=charset,
            )
      2. 封装查询
        1. # 查询封装
          def query(self,sql):
              cursor = self.connect_mysql.cursor()
          
              try:
                  cursor.execute(sql)
                  # 打印查询sql的结果
                  print("查询成功:",cursor.fetchall())
              except Exception as e:
                  #
                  print("---------------------QueryError---------------------------")
                  print("执行查询语句时,发生了错误: " , e)
                  print("sql语句为:  ", sql)
                  print("----------------------------------------------------------")
          
      3. 封装删除
        1. # 删除数据封装
          def delete(self,sql):
              cursor = self.connect_mysql.cursor()
              try:
                  cursor.execute(sql)
                  print("执行删除语句成功了")
                  # 提交事物
                  self.connect_mysql.commit()
              except Exception as e:
                  #
                  print("---------------------DeleteError---------------------------")
                  print("执行删除语句时,发生了错误: ", e)
                  print("sql语句为:  ", sql)
                  print("----------------------------------------------------------")
          
      4. 封装更新
        1. # 更新数据封装
          def update(self,sql):
              cursor = self.connect_mysql.cursor()
              try:
                  cursor.execute(sql)
                  print("执行更新语句成功了")
                  # 提交事物
                  self.connect_mysql.commit()
              except Exception as e:
                  #
                  print("---------------------UpdateError---------------------------")
                  print("执行更新语句时,发生了错误: ", e)
                  print("sql语句为:  ", sql)
                  print("----------------------------------------------------------")
      5. 封装添加
        1. # 添加数据封装
          def insert(self,sql):
              cursor = self.connect_mysql.cursor()
              try:
                  cursor.execute(sql)
                  print("执行更新语句成功了")
                  # 提交事物
                  self.connect_mysql.commit()
              except Exception as e:
                  #
                  print("---------------------InsertError---------------------------")
                  print("执行更新语句时,发生了错误: ", e)
                  print("sql语句为:  ", sql)
                  print("----------------------------------------------------------")
          
    4. 添加一个参测试文件
      1. 编写文件内容
      2. import DBUtil
        
        # 获取实例
        
        dbUtil = DBUtil.DBUtil()
        # 查询成功
        dbUtil.query("select * from user")
        
        # 查询错误的请求
        dbUtil.query("select1 * from user")
        # 关闭数据库连接
        dbUtil.connect_mysql.close()
      3. 运行测试内容
      4. 可以看到数据查询成功了,错误的sql也有提示。
      5. 已经可以简单使用了
    5. 完整的封装工具代码
      1. import config
        import pymysql
        
        
        
        
        class DBUtil:
        
            # 初始化
            def __init__(self,host=config.db_host,
                         port=config.db_port,
                         user=config.db_user,
                         password=config.db_password,
                         database=config.db_database,
                         charset=config.db_charset,):
        
                # 设置私有属性
                self.host = host
                self.port = port
                self.user = user
                self.password = password
                self.database = database
                self.charset = charset
        
                # 初始化数据库连接配置
                self.connect_mysql = pymysql.connect(
                    host=host,
                    port=port,
                    user=user,
                    password=password,
                    database=database,
                    charset=charset,
                )
        
            # 查询封装
            def query(self,sql):
                cursor = self.connect_mysql.cursor()
        
                try:
                    cursor.execute(sql)
                    # 打印查询sql的结果
                    print("查询成功:",cursor.fetchall())
                except Exception as e:
                    #
                    print("---------------------QueryError---------------------------")
                    print("执行查询语句时,发生了错误: " , e)
                    print("sql语句为:  ", sql)
                    print("----------------------------------------------------------")
        
        
        
            # 删除数据封装
            def delete(self,sql):
                cursor = self.connect_mysql.cursor()
                try:
                    cursor.execute(sql)
                    print("执行删除语句成功了")
                    # 提交事物
                    self.connect_mysql.commit()
                except Exception as e:
                    #
                    print("---------------------DeleteError---------------------------")
                    print("执行删除语句时,发生了错误: ", e)
                    print("sql语句为:  ", sql)
                    print("----------------------------------------------------------")
        
            # 更新数据封装
            def update(self,sql):
                cursor = self.connect_mysql.cursor()
                try:
                    cursor.execute(sql)
                    print("执行更新语句成功了")
                    # 提交事物
                    self.connect_mysql.commit()
                except Exception as e:
                    #
                    print("---------------------UpdateError---------------------------")
                    print("执行更新语句时,发生了错误: ", e)
                    print("sql语句为:  ", sql)
                    print("----------------------------------------------------------")
        
            # 添加数据封装
            def insert(self,sql):
                cursor = self.connect_mysql.cursor()
                try:
                    cursor.execute(sql)
                    print("执行更新语句成功了")
                    # 提交事物
                    self.connect_mysql.commit()
                except Exception as e:
                    #
                    print("---------------------InsertError---------------------------")
                    print("执行更新语句时,发生了错误: ", e)
                    print("sql语句为:  ", sql)
                    print("----------------------------------------------------------")
        
        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值