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', '', '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面向对象 — 51、私有成员变量(类中数据的封装)
目录 1.私有成员变量介绍 (1)私有成员变量概念 (2)私有成员变量特点 (3)私有成员变量体验 2.属性私有化工作原理 3.定义成员变量的标识符规范 4.私有成员变量的获取和设置方式 1.私有成员 ...
- Python 面向对象编程之封装的艺术
1. 面向对象编程 OOP ( Object Oriented Programming) 即面向对象编程. 面向对象编程是一种编码思想,或是一种代码组织方式.如同编辑文章时,可以选择分段.分节的方式 ...
- 【数据科学】Python数据可视化概述
注:很早之前就打算专门写一篇与Python数据可视化相关的博客,对一些基本概念和常用技巧做一个小结.今天终于有时间来完成这个计划了! 0. Python中常用的可视化工具 Python在数据科学中的地 ...
- Python数据预处理:机器学习、人工智能通用技术(1)
Python数据预处理:机器学习.人工智能通用技术 白宁超 2018年12月24日17:28:26 摘要:大数据技术与我们日常生活越来越紧密,要做大数据,首要解决数据问题.原始数据存在大量不完整.不 ...
- Elasticsearch for python API模块化封装
Elasticsearch for python API模块化封装 模块的具体功能 检测Elasticsearch节点是否畅通 查询Elasticsearch节点健康状态 查询包含的关键字的日志(展示 ...
- Python之面向对象封装
Python之面向对象封装 封装不是单纯意义的隐藏 什么是封装: 将数据放在一个设定好的盒子里,并标出数据可以实现的功能,将功能按钮外露,而隐藏其功能的工作原理,就是封装. 要怎么封装: 你余额宝有多 ...
- Python进阶-XVII 非python的接口类、多态、python自己的封装
1.python模拟java中的接口类 python中是没有接口类的概念的,因为它支持多继承,但是java不能,所以就提出一个接口类的概念 java : 面向对象编程 设计模式 —— 接口 接口类 : ...
- Python入门篇-封装与解构和高级数据类型集合(set)和字典(dict)
Python入门篇-封装与解构和高级数据类型集合(set)和字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.封装和结构 #!/usr/bin/env pytho ...
- 干货!小白入门Python数据科学全教程
前言 本文讲解了从零开始学习Python数据科学的全过程,涵盖各种工具和方法 你将会学习到如何使用python做基本的数据分析 你还可以了解机器学习算法的原理和使用 说明 先说一段题外话.我是一名数据 ...
随机推荐
- Windows服务器安装配置PHP7.0环境图文教程
摘自http://www.111cn.net/phper/linux-php/109865.htm Windows服务器安装配置PHP7.0环境图文教程 www.111cn.net 更新:2016-0 ...
- activity管理
public class MainApp extends Application { private static ArrayList<WeakReference<Activity> ...
- 关于"Command /usr/bin/codesign failed with exit code 1"的解决办法
今天当码农的时候,xcode爆出"Command /usr/bin/codesign failed with exit code 1"这样一个错 当时以为是授权文件设置不正确的问题 ...
- addScalar 显式指定返回数据的类型
sql: select a.id as 受理 from a SQLQuery sqlQuery=this.getSession().createSQLQuery(sb.toString()).addS ...
- mysql获取所有分类的前n条记录的两种方法浅析
项目中有个需求是获取出展会分类下的前n条展商. 刚开始的思路是用group by 获取出展会的分类,后面再根据分类获取该分类下的n个展商,但也需要第一次获取出展会的时候也获取所有的每个展会分类下的 ...
- mysql5.7中文乱码问题的解决,将编码统一改成utf8的方法
修改配置文件my.ini 将其改为:(路径根据自己mysql的安装路径进行适当调整,与字符编码无关,不必改动) [mysqld] basedir=C:\MYSQL57datadir=C:\MYSQL5 ...
- linux定时执行任务crontab命令用法
linux系统的定时任务是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的.另外, 由于使用者自己也可以设置计划任务,所 ...
- linux-dns服务器搭建
1.先查看系统是否安装了bind rpm -qa|grep bind 2.如果没有安装则
- 黑马程序员——File笔记读,写,复制
#region ReadAllBytes byte[] buffer = File.ReadAllBytes(@"C:\Users\dell\Desktop\新建文件夹.txt") ...
- React Native移动框架功能研究
React Native移动框架功能研究 此篇只研究React Native框架的功能. 一.React Natvie是什么 React Native是使用React(或者说JS)来开发原生APP的框 ...