利用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=***


上一篇:水平分库


下一篇:Python操作数据库增删查改