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 相关文章推荐
采用Psyco实现python执行速度提高到与编译语言一样的水平
Oct 11 Python
Python计算回文数的方法
Mar 11 Python
Python基础入门之seed()方法的使用
May 15 Python
Windows系统下使用flup搭建Nginx和Python环境的方法
Dec 25 Python
ubuntu环境下python虚拟环境的安装过程
Jan 07 Python
numpy.delete删除一列或多列的方法
Apr 03 Python
实例讲解Python中浮点型的基本内容
Feb 11 Python
Python爬取数据保存为Json格式的代码示例
Apr 09 Python
django使用admin站点上传图片的实例
Jul 28 Python
Keras设定GPU使用内存大小方式(Tensorflow backend)
May 22 Python
Python3爬虫关于代理池的维护详解
Jul 30 Python
python语言中pandas字符串分割str.split()函数
Aug 05 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
Php Mssql操作简单封装支持存储过程
2009/12/11 PHP
PHP实现linux命令tail -f
2016/02/22 PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
2017/06/19 PHP
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
2018/09/16 PHP
PHP从零开始打造自己的MVC框架之类的自动加载实现方法详解
2019/06/03 PHP
多广告投放代码 推荐
2006/11/13 Javascript
jQuery 研究心得 取得属性的值
2007/11/30 Javascript
js 兼容多浏览器的回车和鼠标焦点事件代码(IE6/7/8,firefox,chrome)
2010/04/14 Javascript
轻量级 JS ToolTip提示效果
2010/07/20 Javascript
jQuery获取和设置表单元素的方法
2014/02/14 Javascript
原生js编写设为首页兼容ie、火狐和谷歌
2014/06/05 Javascript
jQuery插件formValidator自定义函数扩展功能实例详解
2015/11/25 Javascript
详解javascript实现自定义事件
2016/01/19 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
2016/03/29 Javascript
JavaScript绑定事件监听函数的通用方法
2016/05/14 Javascript
JavaScript学习总结之正则的元字符和一些简单的应用
2017/06/30 Javascript
js 原生判断内容区域是否滚动到底部的实例代码
2017/11/15 Javascript
详解vue 单页应用(spa)前端路由实现原理
2018/04/04 Javascript
微信小程序之swiper轮播图中的图片自适应高度的方法
2018/04/23 Javascript
使用JavaScript中的lodash编写双色球效果
2018/06/24 Javascript
在 Angular-cli 中使用 simple-mock 实现前端开发 API Mock 接口数据模拟功能的方法
2018/11/28 Javascript
node读写Excel操作实例分析
2019/11/06 Javascript
[15:46]教你分分钟做大人——沙王
2015/03/11 DOTA
python根据出生日期获得年龄的方法
2015/03/31 Python
详解Django中的过滤器
2015/07/16 Python
在python中使用正则表达式查找可嵌套字符串组
2017/10/24 Python
python实现校园网自动登录的示例讲解
2018/04/22 Python
Python爬虫实现简单的爬取有道翻译功能示例
2018/07/13 Python
Python numpy线性代数用法实例解析
2019/11/15 Python
如何利用Python给自己的头像加一个小国旗(小月饼)
2020/10/02 Python
选购国际女性时装设计师品牌:IFCHIC(支持中文)
2018/04/12 全球购物
女大学生毕业找工作的自我评价
2013/10/03 职场文书
最新计算机专业自荐信
2013/10/16 职场文书
聚美优品励志广告词
2014/03/14 职场文书
肖申克救赎观后感
2015/06/02 职场文书
Java并发编程必备之Future机制
2021/06/30 Java/Android