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 unittest 简单实现参数化的方法
Nov 30 Python
对python3 中方法各种参数和返回值详解
Dec 15 Python
python获取本机所有IP地址的方法
Dec 26 Python
详解如何设置Python环境变量?
May 13 Python
pandas.cut具体使用总结
Jun 24 Python
Flask框架请求钩子与request请求对象用法实例分析
Nov 07 Python
新年福利来一波之Python轻松集齐五福(demo)
Jan 20 Python
python机器学习库xgboost的使用
Jan 20 Python
python集成开发环境配置(pycharm)
Feb 14 Python
python使用信号量动态更新配置文件的操作
Apr 01 Python
python 实现数据库中数据添加、查询与更新的示例代码
Dec 07 Python
使用Python webdriver图书馆抢座自动预约的正确方法
Mar 04 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简单判断两个字符串是否相等的方法
2015/07/13 PHP
Zend Framework实现多服务器共享SESSION数据的方法
2016/03/22 PHP
Yii操作数据库实现动态获取表名的方法
2016/03/29 PHP
JQuery 插件制作实践 xMarquee插件V1.0
2010/04/02 Javascript
Jquery CheckBox全选方法代码附js checkbox全选反选代码
2010/06/09 Javascript
用js传递value默认值的示例代码
2014/09/11 Javascript
javascript实现Table排序的方法
2015/05/15 Javascript
Javascript自执行匿名函数(function() { })()的原理浅析
2016/05/15 Javascript
jQuery 检查某个元素在页面上是否存在实例代码
2016/10/27 Javascript
mui 打开新窗口的方式总结及注意事项
2017/08/20 Javascript
提升页面加载速度的插件InstantClick
2017/09/12 Javascript
微信小程序如何实现radio单选框单击打勾和取消
2020/01/21 Javascript
Python实现去除列表中重复元素的方法小结【4种方法】
2018/04/27 Python
python3的print()函数的用法图文讲解
2019/07/16 Python
flask框架单元测试原理与用法实例分析
2019/07/23 Python
python读取大文件越来越慢的原因与解决
2019/08/08 Python
Python closure闭包解释及其注意点详解
2019/08/28 Python
关于pymysql模块的使用以及代码详解
2019/09/01 Python
深入浅析Python 中的sklearn模型选择
2019/10/12 Python
详解python使用金山词霸的翻译功能(调试工具断点的使用)
2021/01/07 Python
css3 按钮样式简单可扩展创建
2013/03/18 HTML / CSS
a标签下载链接的简单实现
2016/09/13 HTML / CSS
英国钻石公司:British Diamond Company
2020/02/16 全球购物
Pharmacy Online中文直邮网站:澳洲大型药房
2020/06/27 全球购物
光盘行动倡议书
2014/02/02 职场文书
大队委竞选演讲稿
2014/04/28 职场文书
巾帼文明岗申报材料
2014/05/01 职场文书
奥运会口号
2014/06/13 职场文书
学校学雷锋活动总结
2014/06/26 职场文书
先进工作者个人总结
2015/02/15 职场文书
公司开业致辞
2015/07/29 职场文书
php微信小程序解包过程实例详解
2021/03/31 PHP
PHP策略模式写法
2021/04/01 PHP
Python编写可视化界面的全过程(Python+PyCharm+PyQt)
2021/05/17 Python
Python pandas读取CSV文件的注意事项(适合新手)
2021/06/20 Python
Python中Schedule模块使用详解 周期任务神器
2022/04/19 Python