为了以后工作查询方便,特地将一些常用的代码,以博客形式储存下来,如果能帮助对有相同需求的朋友,甚是欣喜!
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()
测试案例:
#-*- coding: utf-8 -*-
'''
作者:时亚东
功能:测试封装的MySQL类是否能用
版本:
时间:2019-10-01
'''
#模块导入
from MySQL import MySQL
'''连接数据库'''
s = MySQL('localhost', 'root', '123456', 'test')
'''查询数据'''
# sql = 'select * from bankcard where money > 400'
'''增加数据'''
sql_insert = 'insert into bankcard values (0,100),(0, 2000),(0, 1500)'
s.insert(sql_insert)
'''查询数据'''
sql_check = 'select * from bankcard'
res = s.get_all(sql_check)
for row in res:
print('%d -- %d' %(row[0], row[1]))