myaql功能封装代码及封装后的测试
Posted syd123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了myaql功能封装代码及封装后的测试相关的知识,希望对你有一定的参考价值。
---恢复内容开始---
为了以后工作查询方便,特地将一些常用的代码,以博客形式储存下来,如果能帮助对有相同需求的朋友,甚是欣喜!
mysql与Python交互中的封装
1 #-*- coding: utf-8 -*- 2 ‘‘‘ 3 作者:时亚东 4 功能:将mysql数据封装成一个类 5 版本:1.0 6 时间:2019-10-01 7 ‘‘‘ 8 9 #模块导入 10 import pymysql 11 12 # 封装成一个MySQL类 13 class MySQL(): 14 15 ‘‘‘初始化‘‘‘ 16 def __init__(self, host, user, passwd, db_name): 17 self.host = host 18 self.user = user 19 self.passwd = passwd 20 self.db_name = db_name 21 22 ‘‘‘连接数据库‘‘‘ 23 def connect(self): 24 # 获取host,user,passwords以及database_name 25 self.db = pymysql.connect(self.host, self.user, self.passwd, self.db_name) 26 # 设置一个游标 27 self.cursor = self.db.cursor() 28 29 ‘‘‘断开数据库‘‘‘ 30 def close(self): 31 self.cursor.close() 32 self.db.close() 33 34 ‘‘‘获取表中一个值‘‘‘ 35 def get_one(self, sql): 36 result = None 37 try: 38 self.connect() 39 self.cursor.execute(sql) 40 result = self.cursor.fetchone() 41 self.close() 42 except: 43 print(‘查询失败‘) 44 45 return result 46 47 ‘‘‘获取表中所有数据‘‘‘ 48 def get_all(self, sql): 49 result = () 50 try: 51 self.connect() 52 self.cursor.execute(sql) 53 result = self.cursor.fetchall() 54 self.close() 55 except: 56 print(‘查询失败‘) 57 58 return result 59 60 ‘‘‘增加数据‘‘‘ 61 def insert(self, sql): 62 63 return self.__edit(sql) 64 65 ‘‘‘更新数据‘‘‘ 66 def update(self, sql): 67 68 return self.__edit(sql) 69 70 ‘‘‘删除数据‘‘‘ 71 def delete(self,sql): 72 73 return self.__edit(sql) 74 75 def __edit(self, sql): 76 count = 0 77 try: 78 self.connect() 79 count = self.cursor.execute(sql) 80 self.db.commit() 81 self.close() 82 except: 83 print(‘事物提交失败‘) 84 self.db.rollback()
测试案例:
1 #-*- coding: utf-8 -*- 2 ‘‘‘ 3 作者:时亚东 4 功能:测试封装的MySQL类是否能用 5 版本: 6 时间:2019-10-01 7 ‘‘‘ 8 9 #模块导入 10 from MySQL import MySQL 11 12 ‘‘‘连接数据库‘‘‘ 13 s = MySQL(‘192.168.112.19‘, ‘root‘, ‘123456‘, ‘test‘) 14 15 ‘‘‘查询数据‘‘‘ 16 # sql = ‘select * from bankcard where money > 400‘ 17 18 ‘‘‘增加数据‘‘‘ 19 sql_insert = ‘insert into bankcard values (0,100),(0, 2000),(0, 1500)‘ 20 s.insert(sql_insert) 21 22 ‘‘‘查询数据‘‘‘ 23 sql_check = ‘select * from bankcard‘ 24 res = s.get_all(sql_check) 25 for row in res: 26 print(‘%d -- %d‘ %(row[0], row[1]))
---恢复内容结束---
为了以后工作查询方便,特地将一些常用的代码,以博客形式储存下来,如果能帮助对有相同需求的朋友,甚是欣喜!
mysql与Python交互中的封装
1 #-*- coding: utf-8 -*- 2 ‘‘‘ 3 作者:时亚东 4 功能:将mysql数据封装成一个类 5 版本:1.0 6 时间:2019-10-01 7 ‘‘‘ 8 9 #模块导入 10 import pymysql 11 12 # 封装成一个MySQL类 13 class MySQL(): 14 15 ‘‘‘初始化‘‘‘ 16 def __init__(self, host, user, passwd, db_name): 17 self.host = host 18 self.user = user 19 self.passwd = passwd 20 self.db_name = db_name 21 22 ‘‘‘连接数据库‘‘‘ 23 def connect(self): 24 # 获取host,user,passwords以及database_name 25 self.db = pymysql.connect(self.host, self.user, self.passwd, self.db_name) 26 # 设置一个游标 27 self.cursor = self.db.cursor() 28 29 ‘‘‘断开数据库‘‘‘ 30 def close(self): 31 self.cursor.close() 32 self.db.close() 33 34 ‘‘‘获取表中一个值‘‘‘ 35 def get_one(self, sql): 36 result = None 37 try: 38 self.connect() 39 self.cursor.execute(sql) 40 result = self.cursor.fetchone() 41 self.close() 42 except: 43 print(‘查询失败‘) 44 45 return result 46 47 ‘‘‘获取表中所有数据‘‘‘ 48 def get_all(self, sql): 49 result = () 50 try: 51 self.connect() 52 self.cursor.execute(sql) 53 result = self.cursor.fetchall() 54 self.close() 55 except: 56 print(‘查询失败‘) 57 58 return result 59 60 ‘‘‘增加数据‘‘‘ 61 def insert(self, sql): 62 63 return self.__edit(sql) 64 65 ‘‘‘更新数据‘‘‘ 66 def update(self, sql): 67 68 return self.__edit(sql) 69 70 ‘‘‘删除数据‘‘‘ 71 def delete(self,sql): 72 73 return self.__edit(sql) 74 75 def __edit(self, sql): 76 count = 0 77 try: 78 self.connect() 79 count = self.cursor.execute(sql) 80 self.db.commit() 81 self.close() 82 except: 83 print(‘事物提交失败‘) 84 self.db.rollback()
测试案例:
1 #-*- coding: utf-8 -*- 2 ‘‘‘ 3 作者:时亚东 4 功能:测试封装的MySQL类是否能用 5 版本: 6 时间:2019-10-01 7 ‘‘‘ 8 9 #模块导入 10 from MySQL import MySQL 11 12 ‘‘‘连接数据库‘‘‘ 13 s = MySQL(‘192.168.112.19‘, ‘root‘, ‘123456‘, ‘test‘) 14 15 ‘‘‘查询数据‘‘‘ 16 # sql = ‘select * from bankcard where money > 400‘ 17 18 ‘‘‘增加数据‘‘‘ 19 sql_insert = ‘insert into bankcard values (0,100),(0, 2000),(0, 1500)‘ 20 s.insert(sql_insert) 21 22 ‘‘‘查询数据‘‘‘ 23 sql_check = ‘select * from bankcard‘ 24 res = s.get_all(sql_check) 25 for row in res: 26 print(‘%d -- %d‘ %(row[0], row[1]))
以上是关于myaql功能封装代码及封装后的测试的主要内容,如果未能解决你的问题,请参考以下文章
React Native布局实践:开发京东客户端首页——首页功能按钮及控件封装