python mysql操作封装库_python封装MySQL数据库操作

概述

直接使用python api操作数据库,已经很方便实用了,但有时我们根据需求,还是再次封装,让操作更加简单

# coding=utf-8

import mysql.connector

class MySQLUtil:

def __init__(self):

self._conn=None

self._rowcount=0

def connect(self,user,password,host,port,database,buffered=True):

self._conn=mysql.connector.connect(user=user,

password=password,

host=host,

port=port,

database=database,

buffered=buffered

)

def queryall(self,sql,paras=None):

'''

执行select语句,返回所有结果,list类型

'''

try:

cursor=self._conn.cursor()

cursor.execute(sql,paras)

datas=cursor.fetchall()

self._rowcount=cursor.rowcount

return datas

finally:

cursor.close()

def queryone(self,sql,paras=None):

'''

执行select语句,返回一条记录,tuple类型

'''

try:

cursor=self._conn.cursor()

cursor.execute(sql,paras)

data=cursor.fetchone()

self._rowcount=cursor.rowcount

return data

finally:

cursor.close()

def update(self,sql,paras):

'''

执行insert、update、delete语句,返回影响的记录数据

'''

try:

cursor=self._conn.cursor()

cursor.execute(sql,paras)

self._rowcount=cursor.rowcount

return self._rowcount

finally:

cursor.close()

@property

def rowcount(self):

'''

如果是执行queryall()、queryone(),就返回查询结果的行数

如果是执行update(),返回影响的记录数据

'''

return self._rowcount

def commit(self):

self._conn.commit()

def rollback(self):

self._conn.rollback()

def close(self):

self._conn.close()

if __name__ == "__main__":

try:

db=MySQLUtil()

db.connect('root','','127.0.0.1','3308','test',True)

datas=db.queryone("select * from user where password=%s",['123456'])

print(datas)

print(db.rowcount)

# num=db.update("update user set password=%s where id=%s",['1','3920e47cf7224e0eb9a1d75f9ded3f4e'])

# print(num)

# print(db.rowcount)

# db.commit()

finally:

db.close()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值