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 相关文章推荐
win7安装python生成随机数代码分享
Dec 27 Python
Python中的yield浅析
Jun 16 Python
Python实现批量把SVG格式转成png、pdf格式的代码分享
Aug 21 Python
在Python的Django框架的视图中使用Session的方法
Jul 23 Python
利用numpy和pandas处理csv文件中的时间方法
Apr 19 Python
Python 3.6 读取并操作文件内容的实例
Apr 23 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
Nov 29 Python
详解Python的循环结构知识点
May 20 Python
十行代码使用Python写一个USB病毒
Jun 21 Python
利用python实现周期财务统计可视化
Aug 25 Python
Python爬虫实现selenium处理iframe作用域问题
Jan 27 Python
如何用Matlab和Python读取Netcdf文件
Feb 19 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仿discuz分页效果代码
2008/10/02 PHP
PHP 内存缓存加速功能memcached安装与用法
2009/09/03 PHP
php $_SERVER["REQUEST_URI"]获取值的通用解决方法
2010/06/21 PHP
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
2012/08/08 PHP
php跨域cookie共享使用方法
2014/02/20 PHP
DIY jquery plugin - tabs标签切换实现代码
2010/12/11 Javascript
js实时监听文本框状态的方法
2011/04/26 Javascript
js模仿hover的具体实现代码
2013/12/30 Javascript
常见浏览器多长时间会提示“脚本运行时间过长”总结
2014/04/29 Javascript
js实现双击图片放大单击缩小的方法
2015/02/17 Javascript
javascript框架设计之浏览器的嗅探和特征侦测
2015/06/23 Javascript
JS+CSS相对定位实现的下拉菜单
2015/10/06 Javascript
总结JavaScript设计模式编程中的享元模式使用
2016/05/21 Javascript
iframe中使用jquery进行查找的方法【案例分析】
2016/06/17 Javascript
Angularjs中使用layDate日期控件示例
2017/01/11 Javascript
JavaScript字符串转数字的5种方法及遇到的坑
2018/07/16 Javascript
解决JavaScript layui 下拉框不显示的问题
2018/08/14 Javascript
JavaScript数组去重的几种方法
2019/04/07 Javascript
JS实现TITLE悬停长久显示效果完整示例
2020/02/11 Javascript
编写简单的Python程序来判断文本的语种
2015/04/07 Python
java判断三位数的实例讲解
2019/06/10 Python
Python二元赋值实用技巧解析
2019/10/25 Python
Python面向对象之继承原理与用法案例分析
2019/12/31 Python
TensorBoard 计算图的可视化实现
2020/02/15 Python
Python socket处理client连接过程解析
2020/03/18 Python
python多线程semaphore实现线程数控制的示例
2020/08/10 Python
加州风格的游泳和沙滩装品牌:Cupshe
2019/06/10 全球购物
应届大学生求职信
2013/12/01 职场文书
多媒体专业自我鉴定
2014/02/28 职场文书
教师竞聘演讲稿
2014/05/16 职场文书
水利水电建筑施工应届生求职信
2014/07/04 职场文书
党员学习中共十八大思想报告
2014/09/12 职场文书
通知函的格式
2015/04/27 职场文书
重阳节简报
2015/07/20 职场文书
python基于OpenCV模板匹配识别图片中的数字
2021/03/31 Python
MySQL的Query Cache图文详解
2021/07/01 MySQL