一个简单的python sqlite wrapper
2011-02-07 00:19
381 查看
直接上代码,需要注意的是当执行插入或更新操作时尽量使用execute_batch。sqlite执行事务操作的开销是很大的,所以应尽量减少执行commit的次数。我做了一个简单的实验,插入1百万行的数据(每行三列INT型数据),一条一条插入需要半个小时,而以128K为一个batch批量插入只需要3分钟。
try:
import sqlite3 as sqlite
except:
from pysqlite2 import dbapi2 as sqlite
class SqliteWrapper:
def __init__(self):
self.__conn = None
self.__cursor = None
def __del__(self):
self.close()
def connect(self, dbfile):
self.close()
self.__conn = sqlite.connect(dbfile)
self.__cursor = self.__conn.cursor()
def close(self):
if self.__cursor:
self.__cursor.close()
self.__cursor = None
if self.__conn:
self.__conn.close()
self.__conn = None
def select(self, sql):
self.__cursor.execute(sql)
return self.__cursor.fetchall()
def execute(self, sql):
self.__cursor.execute(sql)
self.__conn.commit()
def execute_batch(self, sqls):
for sql in sqls:
self.__cursor.execute(sql)
self.__conn.commit()
try:
import sqlite3 as sqlite
except:
from pysqlite2 import dbapi2 as sqlite
class SqliteWrapper:
def __init__(self):
self.__conn = None
self.__cursor = None
def __del__(self):
self.close()
def connect(self, dbfile):
self.close()
self.__conn = sqlite.connect(dbfile)
self.__cursor = self.__conn.cursor()
def close(self):
if self.__cursor:
self.__cursor.close()
self.__cursor = None
if self.__conn:
self.__conn.close()
self.__conn = None
def select(self, sql):
self.__cursor.execute(sql)
return self.__cursor.fetchall()
def execute(self, sql):
self.__cursor.execute(sql)
self.__conn.commit()
def execute_batch(self, sqls):
for sql in sqls:
self.__cursor.execute(sql)
self.__conn.commit()
相关文章推荐
- Python实现一个简单的图片爬虫
- Python实现一个简单的MySQL类
- 分享一个简单易用的python并行模块【PP模块】
- python Django 学习笔记(六)—— 写一个简单blog做增删改练手
- Python写的一个简单监控系统
- 一个特别简单的python27的xgboost的安装
- Hello Python!用python写一个抓取CSDN博客文章的简单爬虫
- Parallel Python——一个简单的分布式计算系统
- [Python3] 初识py, 一个简单练手的小玩意. 快递查询
- python使用线程封装的一个简单定时器类实例
- 基于python实现一个简单的神经网络
- 写一个简单的python脚本来返回ip地址的掩码,子网个数等
- 用Python selenium+webdriver的一个简单的登录自动化测试--豆丁网登录测试
- 使用python的Flask实现一个简单RESTful API服务器端
- 用Python 实现刷钻网上抢任务,并实现一个简单的限制使用时间的功能
- 一个简单的python socket编程
- 一个简单的python 地址簿程序
- Python使用multiprocessing实现一个最简单的分布式作业调度系统
- 一个简单的python MVC框架(1)
- 5行代码写一个自定义简单二维码——python