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


Posted in Python onJune 23, 2017

本文实例讲述了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使用xlrd模块操作Excel数据导入的方法
May 26 Python
Python用UUID库生成唯一ID的方法示例
Dec 15 Python
tensorflow 获取模型所有参数总和数量的方法
Jun 14 Python
Python文件循环写入行时防止覆盖的解决方法
Nov 09 Python
python爬虫获取百度首页内容教学
Dec 23 Python
11个Python Pandas小技巧让你的工作更高效(附代码实例)
Apr 30 Python
Python跳出多重循环的方法示例
Jul 03 Python
关于TensorFlow新旧版本函数接口变化详解
Feb 10 Python
pycharm sciview的图片另存为操作
Jun 01 Python
Python深度学习之Pytorch初步使用
May 20 Python
Python使用psutil库对系统数据进行采集监控的方法
Aug 23 Python
python中pymysql包操作数据库方法
Apr 19 Python
Python守护线程用法实例
Jun 23 #Python
python使用fcntl模块实现程序加锁功能示例
Jun 23 #Python
Django自定义认证方式用法示例
Jun 23 #Python
Django实现的自定义访问日志模块示例
Jun 23 #Python
详解Python文本操作相关模块
Jun 22 #Python
python字符串过滤性能比较5种方法
Jun 22 #Python
Python编程实现的简单Web服务器示例
Jun 22 #Python
You might like
ajax缓存问题解决途径
2006/12/06 PHP
php $_SERVER windows系统与linux系统下的区别说明
2014/02/14 PHP
Windows中使用计划任务自动执行PHP程序实例
2014/05/09 PHP
smarty内部日期函数html_select_date()用法实例分析
2015/07/08 PHP
Yii2框架实现注册和登录教程
2016/09/30 PHP
PHP实现腾讯与百度坐标转换
2017/08/05 PHP
Yii支持多域名cors原理的实现
2018/12/05 PHP
a标签的css样式四个状态
2021/03/09 HTML / CSS
Stop SQL Server
2007/06/21 Javascript
dojo学习第一天 Tab选项卡 实现
2011/08/28 Javascript
JavaScript中将一个值转换为字符串的方法分析[译]
2012/09/21 Javascript
js实现透明度渐变效果的方法
2015/04/10 Javascript
JavaScript中的Function函数
2015/08/27 Javascript
jquery+css3实现会动的小圆圈效果
2016/01/27 Javascript
JavaScript函数节流和函数防抖之间的区别
2017/02/15 Javascript
JS实现的简单四则运算计算器功能示例
2017/09/27 Javascript
使用Electron构建React+Webpack桌面应用的方法
2017/12/15 Javascript
微信小程序实现之手势锁功能实例代码
2018/07/19 Javascript
如何在 JavaScript 中更好地利用数组
2018/09/27 Javascript
使用rollup打包JS的方法步骤
2018/12/05 Javascript
vue 项目软键盘回车触发搜索事件
2020/09/09 Javascript
在windows系统中实现python3安装lxml
2016/03/23 Python
深入浅出分析Python装饰器用法
2017/07/28 Python
django模型层(model)进行建表、查询与删除的基础教程
2017/11/21 Python
快速解决安装python没有scripts文件夹的问题
2018/04/03 Python
利用python实现平稳时间序列的建模方式
2020/06/03 Python
Python自动登录QQ的实现示例
2020/08/28 Python
英国第一的购买便宜玩具和游戏的在线购物网站:Bargain Max
2018/01/24 全球购物
金融专业推荐信
2013/11/14 职场文书
2013英文求职信模板范文
2013/11/15 职场文书
国际商务专业职业生涯规划书范文
2014/01/17 职场文书
宣传策划类求职信范文
2014/01/31 职场文书
酒店节能减排方案
2014/05/26 职场文书
从事会计工作年限证明
2015/06/23 职场文书
情人节单身感言
2015/08/03 职场文书
2019新学期家长会工作计划
2019/08/21 职场文书