为了以后工作查询方便,特地将一些常用的代码,以博客形式储存下来,如果能帮助对有相同需求的朋友,甚是欣喜!
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]))