ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

python连接mysql与方法的封装

2021-05-16 02:32:32  阅读:379  来源: 互联网

标签:error 封装 python self mysql cursor sql employee def


 1 import pymysql
 2 
 3 class Model(object):
 4     def __init__(self, username='root', password='123456', database='demo', 
 5                  port=3306, host='localhost'):
 6         # 创建连接
 7         self.connection = pymysql.connect(user=username, password=password, database=database,
 8                                           port=port, host=host, cursorclass=pymysql.cursors.DictCursor)
 9         # 创建游标
10         self.cursor = self.connection.cursor()
11 
12     # 查询所有数据
13     def fetchall(self, sql):
14         try:
15             self.__execute(sql)
16             return self.cursor.fetchall()
17         except Exception as error:
18             print(error)
19 
20     # 查询多条数据
21     def fetchmany(self, sql, size=1):
22         try:
23             self.__execute(sql)
24             return self.cursor.fetchmany(size)
25         except Exception as error:
26             print(error)
27 
28     # 查询一条数据
29     def fetchone(self, sql):
30         try:
31             self.__execute(sql)
32             return self.cursor.fetchone()
33         except Exception as error:
34             print(error)
35 
36     # 增删改的方法
37     def change(self, sql):
38         try:
39             self.__execute(sql)
40             self.connection.commit()
41         except Exception as error:
42             print(error)
43 
44     # 执行的私有方法
45     def __execute(self, sql):
46         self.cursor.execute(sql)
47 
48     # 关闭连接和游标
49     def __del__(self):
50         self.connection.close()
51         self.cursor.close()
 1 from data_connect import model
 2 
 3 # 实例化Model类
 4 employee = model.Model()
 5 res = employee.fetchall('select nickname from employee where job="头领"')[0]
 6 res1 = employee.fetchmany('select nickname from employee where job="头领"', 2)
 7 res2 = employee.fetchone('select nickname from employee where name = "宋江"')
 8 # print(res2)
 9 
10 # 插入一条语句
11 employee.change('insert into employee (name)values ("关羽")')
12 # 删除一条语句
13 employee.change('delete from employee where name="关羽"')
14 # 更新一条语句
15 # obj.change('update employee set name="张飞"where id=8004')

 

 

标签:error,封装,python,self,mysql,cursor,sql,employee,def
来源: https://www.cnblogs.com/Liu928011/p/14773058.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有