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,数据库封装

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
评论“Python数据库封装实现代码示例解析”
暂无“Python数据库封装实现代码示例解析”评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。