码迷,mamicode.com
首页 > 数据库 > 详细

pymysql功能封装

时间:2021-06-07 20:23:52      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:插入数据   exception   author   err   data   ict   执行sql   finally   封装   

import pymysql


# username : adil
# password : helloyyj


class DataBaseHandle(object):
‘‘‘ 定义一个 MySQL 操作类‘‘‘

def __init__(self, host, username, password, database, port):
‘‘‘初始化数据库信息并创建数据库连接‘‘‘
# 下面的赋值其实可以省略,connect 时 直接使用形参即可
self.host = host
self.username = username
self.password = password
self.database = database
self.port = port
self.db = pymysql.connect(
host=self.host,
user=self.username,
password=self.password,
db=self.database,
port=self.port,
charset="utf8"

)
self.cursor = self.db.cursor(pymysql.cursors.DictCursor)






def insertDB(self, sql):
‘‘‘ 插入数据库操作 ‘‘‘


try:
# 执行sql
self.cursor.execute(sql)

# tt = self.cursor.execute(sql) # 返回 插入数据 条数 可以根据 返回值 判定处理结果
# print(tt)
self.db.commit()

# query = ‘insert into 表名(列名1, 列名2, 列名3, 列名4, 列名5, 列名6) values(%s, %s, %s, %s, %s, %s)‘
# self.cursor.execute(sql)

except Exception as e:

print(‘回滚‘)

print(e)

# 发生错误时回滚

self.db.rollback()

return e
finally:
self.cursor.close()

def deleteDB(self, sql):
‘‘‘ 操作数据库数据删除 ‘‘‘
# print(‘删除‘)
try:
# 执行sql
print(‘删除‘)
self.cursor.execute(sql)
# tt = self.cursor.execute(sql) # 返回 删除数据 条数 可以根据 返回值 判定处理结果
# print(tt)
self.db.commit()
except:
print(‘回滚‘)
# 发生错误时回滚
self.db.rollback()
finally:
self.cursor.close()

def updateDb(self, sql):
‘‘‘ 更新数据库操作 ‘‘‘


try:
# 执行sql
self.cursor.execute(sql)
# tt = self.cursor.execute(sql) # 返回 更新数据 条数 可以根据 返回值 判定处理结果
# print(tt)
self.db.commit()
except:
# 发生错误时回滚
self.db.rollback()
finally:
self.cursor.close()

def selectDb(self, sql):
‘‘‘ 数据库查询 ‘‘‘

try:
self.cursor.execute(sql) # 返回 查询数据 条数 可以根据 返回值 判定处理结果

data = self.cursor.fetchall() # 返回所有记录列表

print(data)

# 结果遍历
except:
print(‘Error: unable to fecth data‘)
finally:
self.cursor.close()

def closeDb(self):
‘‘‘ 数据库连接关闭 ‘‘‘
self.db.close()


if __name__ == ‘__main__‘:
DbHandle = DataBaseHandle(‘localhost‘, ‘root‘, ‘root‘, ‘test01‘, 3306)

DbHandle.insertDB("insert into author (name) values (‘随便起名‘)")
# DbHandle.deleteDB("delete from abc where id=2")
# DbHandle.selectDb("select * from goods where id = 3")

DbHandle.closeDb()

pymysql功能封装

标签:插入数据   exception   author   err   data   ict   执行sql   finally   封装   

原文地址:https://www.cnblogs.com/vgbirdsl/p/14857444.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!