利用pymysql封装数据库连接、生成游标、查询、关闭连接等操作

2022/1/19 19:22:30

本文主要是介绍利用pymysql封装数据库连接、生成游标、查询、关闭连接等操作,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

my_sql.py 内容如下:

#!/usr/bin/env python3
# -*- coding:utf-8 -*-

import  pymysql
import os
from  common.MyConf import   MyConf
from common.my_path import  Conf_dir


class MySql:

    def __init__(self):
        # 实例化配置类对象
        conf = MyConf(os.path.join(Conf_dir, 'mysql.ini'))
        # 1.数据库连接、生成游标
        self.db = pymysql.connect(
            host=conf.get("mysql", "host"),
            user=conf.get("mysql", "user"),
            password=conf.get("mysql", "passwd"),
            port=conf.getint("mysql", "port"),
            database=conf.get("mysql", "database"),
            charset="utf8",
            cursorclass=pymysql.cursors.DictCursor
        )

        #2.创建游标
        self.cur = self.db.cursor()
        
    #获取查询条数
    def get_count(self,sql):
        count = self.cur.execute(sql)
        return count

    #获取查询的第一条数据
    def get_one_data(self,sql):
        self.cur.execute(sql)
        return self.cur.fetchone()

    #获取查询的多条数据
    def get_many_data(self,sql,size=None):
        self.cur.execute(sql)
        if size:
            return self.cur.fetchmany(size)
        else:
            return  self.cur.fetchall()

    #先关闭游标连接,再关闭数据库连接
    def close_db(self):
        self.cur.close()
        self.db.close()


if __name__ == '__main__':
    my_db = MySql()
    sql = "select id from order where order_id='1335****'"
    count = my_db.get_count(sql)
    print(count)
    my_db.close_db()


另外补充下MyConf.py , my_sql.ini 内容:
MyConf.py 如下
#!/usr/bin/env python3
# -*- coding:utf-8 -*-

from configparser import ConfigParser

class MyConf(ConfigParser):

    def __init__(self,filename):
        super().__init__()
        self.read(filename,encoding='utf-8')
my_sql.ini 格式如下(*表示需要替换成项目对应数据库信息)
[mysql]
host=***
database=**
port=***
user=**
passwd=***



这篇关于利用pymysql封装数据库连接、生成游标、查询、关闭连接等操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程