Python数据库封装实现代码示例解析


Posted in Python onSeptember 05, 2020

Django中(原生mysql封装)

1.函数封装

import pymysql

# 查  所数据
def get_all(sql):
  conn = pymysql.connect(host="localhost", user="root", password="root", database="db6")
  cur = conn.cursor(cursor=pymysql.cursors.DictCursor)
  cur.execute(sql)
  res = cur.fetchall()
  cur.close()
  conn.close()
  return res


# 查 一行数据
def get_one(sql,args):
  conn = pymysql.connect(host="localhost", user="root", password="root", database="db6")
  cur = conn.cursor(cursor=pymysql.cursors.DictCursor)
  cur.execute(sql,args)
  res = cur.fetchone()
  cur.close()
  conn.close()
  return res



# 增 删 改 都要提交 commit
def get_mif(sql,args):
  conn = pymysql.connect(host="localhost", user="root", password="root", database="db6")
  cur = conn.cursor(cursor=pymysql.cursors.DictCursor)
  cur.execute(sql,args)
  conn.commit()
  cur.close()
  conn.close()


# 增 删 改 都要提交 commit
# 添加并且带返回值
def get_create(sql,args):
    conn = pymysql.connect(host="localhost", user="root", password="root", database="db6")
    cur = conn.cursor(cursor=pymysql.cursors.DictCursor)
    cur.execute(sql,args)
    conn.commit()
    cur.close()
    conn.close()
    return cur.lastrowid
    # python插入记录后取得主键id的方法(cursor.lastrowid和conn.insert_id())



# 增 删 改 都要提交 commit
# 批量加入 以元祖的形式传参数  就是添加几次次提交一次
def mul_mode(sql, args):
    conn = pymysql.connect(host="localhost", user="root", password="root", database="db6")
    cur = conn.cursor(cursor=pymysql.cursors.DictCursor)
    # self.cursor.executemany("insert into user (id,name) values (%s,%s)",[(1,"aaa"),(2,"bbb"),(3,"ccc")]) 传参方式
    cur.executemany(sql, args)
    conn.commit()
    cur.close()
    conn.close()

2.对象封装

import pymysql
# 注意 args 参数可以传空值[]
class Mysqls(object):
  def __init__(self):
     # 读取配置文件
    self.connect()

  def connect(self):
    self.conn = pymysql.connect(host="localhost", user="root", password="root", database="db6")  # 可以把主机连接等写入配置文件 等
    self.cursor=self.conn.cursor(cursor=pymysql.cursors.DictCursor)

  # 获取所以数据
  def get_all(self,sql,args):
     self.cursor.execute(sql,args)
     res = self.cursor.fetchall()
     return res

  # 获取一行数据
  def get_one(self,sql,args):
    self.cursor.execute(sql, args)
    res = self.cursor.fetchone()
    return res

  # 添加 就是添加一次提交多次
  def get_mode (self,sql,args):
    self.cursor.execute(sql, args)
    self.conn.commit()

  # 添加并且带返回值
  def get_create(self,sql,args):
    self.cursor.execute(sql,args)
    self.conn.commit()
    return self.cursor.lastrowid
    # python插入记录后取得主键id的方法(cursor.lastrowid和conn.insert_id())

   # 批量加入 以元祖的形式传参数  就是添加一次提交一次
  def mul_mode(self, sql, args):
    # self.cursor.executemany("insert into user (id,name) values (%s,%s)",[(1,"aaa"),(2,"bbb"),(3,"ccc")]) 传参方式
    self.cursor.executemany(sql, args)
    self.conn.commit()

  def get_close(self):
      self.cursor.close()
      self.conn.close()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
以Python的Pyspider为例剖析搜索引擎的网络爬虫实现方法
Mar 30 Python
Python中的CSV文件使用"with"语句的方式详解
Oct 16 Python
Python并发:多线程与多进程的详解
Jan 24 Python
python调用webservice接口的实现
Jul 12 Python
django写用户登录判定并跳转制定页面的实例
Aug 21 Python
Python loguru日志库之高效输出控制台日志和日志记录
Mar 07 Python
Python数据正态性检验实现过程
Apr 18 Python
在keras中对单一输入图像进行预测并返回预测结果操作
Jul 09 Python
在pycharm中文件取消用 pytest模式打开的操作
Sep 01 Python
python 检测nginx服务邮件报警的脚本
Dec 31 Python
python中四舍五入的正确打开方式
Jan 18 Python
基于flask实现五子棋小游戏
May 25 Python
Python‘==‘ 及 ‘is‘相关原理解析
Sep 05 #Python
如何使用 Python 读取文件和照片的创建日期
Sep 05 #Python
Python filter()及reduce()函数使用方法解析
Sep 05 #Python
Python 在 VSCode 中使用 IPython Kernel 的方法详解
Sep 05 #Python
Python中猜拳游戏与猜筛子游戏的实现方法
Sep 04 #Python
Python实现快速大文件比较代码解析
Sep 04 #Python
基于python实现图片转字符画代码实例
Sep 04 #Python
You might like
使用无限生命期Session的方法
2006/10/09 PHP
也谈php网站在线人数统计
2008/04/09 PHP
destoon实现会员商铺中指定会员或会员组投放广告的方法
2014/08/21 PHP
详解PHP中websocket的使用方法
2016/09/15 PHP
php实现批量上传数据到数据库(.csv格式)的案例
2017/06/18 PHP
关于ThinkPHP中的异常处理详解
2018/05/11 PHP
脚本之家贴图转换+转贴工具用到的js代码超级推荐
2007/04/05 Javascript
javascript 短路法代码精简
2009/08/20 Javascript
js对象数组按属性快速排序
2011/01/31 Javascript
addEventListener()第三个参数useCapture (Boolean)详细解析
2013/11/07 Javascript
javascript创建含数字字母的随机字符串方法总结
2016/08/01 Javascript
Web性能优化系列 10个提升JavaScript性能的技巧
2016/09/27 Javascript
jQuery插件ajaxFileUpload使用详解
2017/01/10 Javascript
详细分析JS函数去抖和节流
2017/12/05 Javascript
vue里面父组件修改子组件样式的方法
2018/02/03 Javascript
浅谈VUE单页应用首屏加载速度优化方案
2018/08/28 Javascript
vue组件从开发到发布的实现步骤
2018/11/11 Javascript
Vue 组件修改根实例的数据的方法
2019/04/02 Javascript
[02:11]2016国际邀请赛中国区预选赛全程回顾
2016/07/01 DOTA
python写的一个squid访问日志分析的小程序
2014/09/17 Python
Python中endswith()函数的基本使用
2015/04/07 Python
Python实现的中国剩余定理算法示例
2017/08/05 Python
Python编程产生非均匀随机数的几种方法代码分享
2017/12/13 Python
Django实现登录随机验证码的示例代码
2018/06/20 Python
Python将一个Excel拆分为多个Excel
2018/11/07 Python
PyQt5实现从主窗口打开子窗口的方法
2019/06/19 Python
简单了解python反射机制的一些知识
2019/07/13 Python
Python和Bash结合在一起的方法
2020/11/13 Python
Python的logging模块基本用法
2020/12/24 Python
新品发布会策划方案
2014/06/08 职场文书
中学清明节活动总结
2014/07/04 职场文书
2014年办公室主任工作总结
2014/11/12 职场文书
护士求职自荐信范文
2015/03/04 职场文书
整理Python中常用的conda命令操作
2021/06/15 Python
windows server2016安装oracle 11g的图文教程
2022/07/15 Servers
基于Android10渲染Surface的创建过程
2022/08/14 Java/Android