您的当前位置:首页正文

python MySQL封装调用

2024-11-19 来源:个人技术集锦
import pymysql

from Cfg.Handle_ini import cfg              #ini的配置文件调用      调用方式cfg.get(‘’,‘’)

class HeandleMysql(object):

    # 建立连接
    def __init__(self):
        self.conn = pymysql.connect(
            host=cfg.get('mysql','host'),
            port=cfg.getint('mysql','port'),
            user=cfg.get('mysql','user'),
            password=cfg.get('mysql','password'),
            database=cfg.get('mysql','database'),
            charset='utf8',
            cursorclass=pymysql.cursors.DictCursor
        )
    # 创建游标
        self.cur = self.conn.cursor()

    #查询一行
    def select_one_row(self,sql):
        self.conn.commit()
        self.cur.execute(sql)
        return self.cur.fetchone()

    #查询所有行
    def select_all_row(self,sql):
        self.conn.commit()
        self.cur.execute(sql)
        return self.cur.fetchall()

    #按给定的值取行数
    def select_assign_row(self,sql,assign_row):
        self.conn.commit()
        self.cur.execute(sql)
        return self.cur.fetchmany(assign_row)

    #输出sql语句查询后内容行数
    def get_count(self,sql):
        self.conn.commit()
        return self.cur.execute(sql)

    #更新
    def update_data(self,sql):
        self.cur.execute(sql)
        self.conn.commit()

    #关闭
    def closs(self):
        self.cur.close()
        self.conn.close()


#调用时调用的变量
DB = HeandleMysql()

#测试
if __name__ == '__main__':
    sql = 'select * from member LIMIT 10'
    db = HeandleMysql()
    count = db.get_count(sql)
    print('输出结果个数',count)
    one = db.select_one_row(sql)
    print('输出一行结果',one)
    all = db.select_all_row(sql)
    print('输出所有结果',all)
    assign = db.select_assign_row(sql,5)
    print('输出指定行数',assign)
    db.closs()








#-----------------------学习时使用的,对整体无用-----------------------------
#数据库操作步骤
# 1.连接数据库,创建游标
# 2.执行sql语句
# 3.获取执行的结果
# 4.关闭数据库连接

#、建立连接
# conn = pymysql.connect(
#     host='api.lemonban.com',
#     port=3306,                      #不加引号
#     user='future',
#     password='123456',
#     database='futureloan',
#     charset='utf8',
#     cursorclass=pymysql.cursors.DictCursor      #把元组改到字典格式
#                     )
# # 创建游标
# cur = conn.cursor()
#
# #执行sql语句
# sql = 'select * from futureloan.`member` limit 10;'
# cur.execute(sql)    #返回的是sql语句执行的行数
#
# #获取sql语句执行的结果
# one = cur.fetchone()    #一行一行的取值   第一行
# two = cur.fetchone()    #一行一行的取值   第二行
# #获取所有的
# all = cur.fetchall()    #去所有行
# #按指定个数取值
# many = cur.fetchmany(5)        #按给定的值取行数
#
# #关闭游标关闭数据库连接释放资源
# cur.close()
# conn.close()
显示全文