Python数据操作方法封装类实例

发布时间 - 2026-01-11 02:01:20    点击率:

本文实例讲述了Python数据操作方法封装类。分享给大家供大家参考,具体如下:

工作中经常会用到数据的插叙、单条数据插入和批量数据插入,以下是本人封装的一个类,推荐给各位:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Eric.yue
import logging
import MySQLdb
class _MySQL(object):
  def __init__(self,host, port, user, passwd, db):
    self.conn = MySQLdb.connect(
      host = host,
      port = port,
      user = user,
      passwd = passwd,
      db = db,
      charset='utf8'
    )
  def get_cursor(self):
    return self.conn.cursor()
  def query(self, sql):
    cursor = self.get_cursor()
    try:
      cursor.execute(sql, None)
      result = cursor.fetchall()
    except Exception, e:
      logging.error("mysql query error: %s", e)
      return None
    finally:
      cursor.close()
    return result
  def execute(self, sql, param=None):
    cursor = self.get_cursor()
    try:
      cursor.execute(sql, param)
      self.conn.commit()
      affected_row = cursor.rowcount
    except Exception, e:
      logging.error("mysql execute error: %s", e)
      return 0
    finally:
      cursor.close()
    return affected_row
  def executemany(self, sql, params=None):
    cursor = self.get_cursor()
    try:
      cursor.executemany(sql, params)
      self.conn.commit()
      affected_rows = cursor.rowcount
    except Exception, e:
      logging.error("mysql executemany error: %s", e)
      return 0
    finally:
      cursor.close()
    return affected_rows
  def close(self):
    try:
      self.conn.close()
    except:
      pass
  def __del__(self):
    self.close()
mysql = _MySQL('127.0.0.1', 3306, 'root', '123456', 'test')
def create_table():
  table = """
      CREATE TABLE IF NOT EXISTS `watchdog`(
        `id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
        `name` varchar(100),
        `price` int(11) NOT NULL DEFAULT 0
      ) ENGINE=InnoDB charset=utf8;
      """
  print mysql.execute(table)
def insert_data():
  params = [('dog_%d' % i, i) for i in xrange(12)]
  sql = "INSERT INTO `watchdog`(`name`,`price`) VALUES(%s,%s);"
  print mysql.executemany(sql, params)
if __name__ == '__main__':
  create_table()
  insert_data()

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python常见数据库操作技巧汇总》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。


# Python  # 数据操作  # 封装类  # Python3实现的Mysql数据库操作封装类  # Python操作Oracle数据库的简单方法和封装类实例  # python数据封装json格式数据  # Python Sql数据库增删改查操作简单封装  # 从零学python系列之浅谈pickle模块封装和拆封数据对象的方法  # Python接口测试数据库封装实现原理  # 操作技巧  # 进阶  # 相关内容  # 感兴趣  # 数据结构  # 给大家  # 推荐给  # 更多关于  # 所述  # 程序设计  # 使用技巧  # 操作方法  # 单条  # 中经  # 编程技巧  # 讲述了  # port  # host  # user  # db 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 网页设计与网站制作内容,怎样注册网站?  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  使用Dockerfile构建java web环境  如何生成腾讯云建站专用兑换码?  Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  Laravel如何处理异常和错误?(Handler示例)  Laravel定时任务怎么设置_Laravel Crontab调度器配置  重庆市网站制作公司,重庆招聘网站哪个好?  如何挑选高效建站主机与优质域名?  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  javascript基本数据类型及类型检测常用方法小结  Android okhttputils现在进度显示实例代码  如何在腾讯云服务器快速搭建个人网站?  网站图片在线制作软件,怎么在图片上做链接?  清除minerd进程的简单方法  html5audio标签播放结束怎么触发事件_onended回调方法【教程】  大连 网站制作,大连天途有线官网?  ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)  利用JavaScript实现拖拽改变元素大小  EditPlus中的正则表达式 实战(1)  Laravel如何与Pusher实现实时通信?(WebSocket示例)  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体  网站建设整体流程解析,建站其实很容易!  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  HTML 中如何正确使用模板变量为元素的 name 属性赋值  python中快速进行多个字符替换的方法小结  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  如何用PHP快速搭建高效网站?分步指南  如何利用DOS批处理实现定时关机操作详解  如何用免费手机建站系统零基础打造专业网站?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  微信小程序 input输入框控件详解及实例(多种示例)  南京网站制作费用,南京远驱官方网站?  如何彻底删除建站之星生成的Banner?  如何选择PHP开源工具快速搭建网站?  Laravel如何生成API文档?(Swagger/OpenAPI教程)  免费视频制作网站,更新又快又好的免费电影网站?  详解Android中Activity的四大启动模式实验简述  公司门户网站制作流程,华为官网怎么做?  Laravel如何实现API资源集合?(Resource Collection教程)