时间:2021-07-01 10:21:17 帮助过:25人阅读
- import pymysql<br><br><br># username : adil<br># password : helloyyj<br><br><br>class DataBaseHandle(object):<br> ‘‘‘ 定义一个 MySQL 操作类‘‘‘<br><br> def __init__(self, host, username, password, database, port):<br> ‘‘‘初始化数据库信息并创建数据库连接‘‘‘<br> # 下面的赋值其实可以省略,connect 时 直接使用形参即可<br> self.host = host<br> self.username = username<br> self.password = password<br> self.database = database<br> self.port = port<br> self.db = pymysql.connect(<br> host=self.host,<br> user=self.username,<br> password=self.password,<br> db=self.database,<br> port=self.port,<br> charset="utf8"<br><br> )<br> self.cursor = self.db.cursor(pymysql.cursors.DictCursor)<br><br><br><br><br><br><br> def insertDB(self, sql):<br> ‘‘‘ 插入数据库操作 ‘‘‘<br><br><br> try:<br> # 执行sql<br> self.cursor.execute(sql)<br><br> # tt = self.cursor.execute(sql) # 返回 插入数据 条数 可以根据 返回值 判定处理结果<br> # print(tt)<br> self.db.commit()<br><br> # query = ‘insert into 表名(列名1, 列名2, 列名3, 列名4, 列名5, 列名6) values(%s, %s, %s, %s, %s, %s)‘<br> # self.cursor.execute(sql)<br><br> except Exception as e:<br><br> print(‘回滚‘)<br><br> print(e)<br><br> # 发生错误时回滚<br><br> self.db.rollback()<br><br> return e<br> finally:<br> self.cursor.close()<br><br> def deleteDB(self, sql):<br> ‘‘‘ 操作数据库数据删除 ‘‘‘<br> # print(‘删除‘)<br> try:<br> # 执行sql<br> print(‘删除‘)<br> self.cursor.execute(sql)<br> # tt = self.cursor.execute(sql) # 返回 删除数据 条数 可以根据 返回值 判定处理结果<br> # print(tt)<br> self.db.commit()<br> except:<br> print(‘回滚‘)<br> # 发生错误时回滚<br> self.db.rollback()<br> finally:<br> self.cursor.close()<br><br> def updateDb(self, sql):<br> ‘‘‘ 更新数据库操作 ‘‘‘<br><br><br> try:<br> # 执行sql<br> self.cursor.execute(sql)<br> # tt = self.cursor.execute(sql) # 返回 更新数据 条数 可以根据 返回值 判定处理结果<br> # print(tt)<br> self.db.commit()<br> except:<br> # 发生错误时回滚<br> self.db.rollback()<br> finally:<br> self.cursor.close()<br><br> def selectDb(self, sql):<br> ‘‘‘ 数据库查询 ‘‘‘<br><br> try:<br> self.cursor.execute(sql) # 返回 查询数据 条数 可以根据 返回值 判定处理结果<br><br> data = self.cursor.fetchall() # 返回所有记录列表<br><br> print(data)<br><br> # 结果遍历<br> except:<br> print(‘Error: unable to fecth data‘)<br> finally:<br> self.cursor.close()<br><br> def closeDb(self):<br> ‘‘‘ 数据库连接关闭 ‘‘‘<br> self.db.close()<br><br><br>if __name__ == ‘__main__‘:<br> DbHandle = DataBaseHandle(‘localhost‘, ‘root‘, ‘root‘, ‘test01‘, 3306)<br><br> DbHandle.insertDB("insert into author (name) values (‘随便起名‘)")<br> # DbHandle.deleteDB("delete from abc where id=2")<br> # DbHandle.selectDb("select * from goods where id = 3")<br><br> DbHandle.closeDb()
pymysql功能封装
标签:插入数据 exception author err data ict 执行sql finally 封装