python中常用的各种数据库操作模块和连接实例


Posted in Python onMay 29, 2014

工作中,经常会有用python访问各种数据库的需求,比如从oracle读点配置文件或者往mysql写点结果信息之类的。
这里列一下可能用到的各个模块。

sqlite3: 内置模块
用sqlite,有时候确实很方便,我觉得它确实做到了宣称的“零配置”。python自2.5版以来,就内置了对sqlite3的支持,使用也非常简单,按照文档上来:

#打开db文件,获得连接
conn = sqlite3.connect('数据文件名')
#获得游标
c = conn.cursor()
#执行SQL
c.execute('''SQL 片段''')
#如果有对数据的修改操作,那就需要commit一下
conn.commit()
#关闭游标
c.close()
#关闭连接
conn.close()

另外,关于sqlite在C和bash下的用法,可以参考为以前的文章。

oracle: cx_Oracle

其实,前面先介绍sqlite3,除了它确实是个小数据库以外,还有一个原因:其他数据库在python下的操作,其实基本上和sqlite3的操作是一样的,也就是说,python其实已经几乎统一了数据库的接口。
打开cx_Oracle的文档页面,你会发现其风格也和python文档很像,因为他们都是用 Sphinx 做的。模块的使用方法就更像了,把上面的代码里,获得连接的那行,换成这样:

conn = cx_Oracle.connect('username/password@TNSname')

就可以了。只要把用户名、密码、TNS组成一个字符串,传进去,就可以得到一个oracle的连接了。

mysql: MySQLdb

和前两个非常类似,连接的时候用以下两个语法之一:

conn = MySQLdb.connect('host', 'username', 'password', 'database')
conn = MySQLdb.connect(host="host", user="username", passwd="password", db="database")

接下来,也把它当成sqlite用就好了。

excel: pyExcelerator

好吧,我承认excel不算数据库,只是写在这里充数而已,哈哈。因为偶尔还是要取下别人发来的excel里的数据的。
其实,用pyExcelerator来读取文件也是很简单的:

sheets=pyExcelerator.parse_xls('xxx.xls')

这样出来以后,sheets就是整个工作薄了,它是工作表组成的list,而一个工作表对应于一个tuple,格式是: ('工作表名', 内容),而内容又是一个dict,key是一个(行数, 列数)的tuple,value才是正在的对应格子的内容。看起来确实比较绕,好在处理excel的应用也不多,将就吧。
另外,其实pyExcelerator还支持写入数据到excel的,如果有把查询结果保存成excel的需求的话,可以试试看,我还是尽量不用这种格式了,哈哈。
Python 相关文章推荐
Python简明入门教程
Aug 04 Python
使用Python+Splinter自动刷新抢12306火车票
Jan 03 Python
Python的SimpleHTTPServer模块用处及使用方法简介
Jan 22 Python
Python 判断 有向图 是否有环的实例讲解
Feb 01 Python
解决DataFrame排序sort的问题
Jun 07 Python
python迭代dict的key和value的方法
Jul 06 Python
python实现对指定字符串补足固定长度倍数截断输出的方法
Nov 15 Python
Laravel+Dingo/Api 自定义响应的实现
Feb 17 Python
Opencv python 图片生成视频的方法示例
Nov 18 Python
Pytorch1.5.1版本安装的方法步骤
Dec 31 Python
Pytorch中Softmax与LogSigmoid的对比分析
Jun 05 Python
Python 的演示平台支持 WSGI 接口的应用
Apr 20 Python
从零学Python之入门(五)缩进和选择
May 27 #Python
从零学Python之入门(四)运算
May 27 #Python
一则python3的简单爬虫代码
May 26 #Python
从零学Python之入门(三)序列
May 25 #Python
从零学Python之入门(二)基本数据类型
May 25 #Python
Python tempfile模块学习笔记(临时文件)
May 25 #Python
Python logging模块学习笔记
May 24 #Python
You might like
全国FM电台频率大全 - 31 新疆维吾尔族自治区
2020/03/11 无线电
Drupal 添加模块出现莫名其妙的错误的解决方法(往往出现在模块较多时)
2011/04/18 PHP
PHP 无限分类三种方式 非函数的递归调用!
2011/08/26 PHP
PHP中的日期时间处理利器实例(Carbon)
2017/06/09 PHP
php利用ZipArchive类操作文件的实例
2020/01/21 PHP
(JS实现)MapBar中坐标的加密和解密的脚本
2007/05/16 Javascript
jQuery Tools tab使用介绍
2012/07/14 Javascript
jquery删除指定的html标签并保留标签内文本内容的方法
2014/04/02 Javascript
node.js中的fs.createWriteStream方法使用说明
2014/12/17 Javascript
使用js画图之画切线
2015/01/12 Javascript
浅谈利用JavaScript进行的DDoS攻击原理与防御
2015/06/04 Javascript
鼠标经过子元素触发mouseout,mouseover事件的解决方案
2015/07/26 Javascript
js判断日期时间有效性的方法
2015/10/24 Javascript
JavaScript必知必会(七)js对象继承
2016/06/08 Javascript
BootStrap实现鼠标悬停下拉列表功能
2017/02/17 Javascript
详解10分钟学会vue滚动行为
2017/09/21 Javascript
jQuery实现动态生成年月日级联下拉列表示例
2019/05/11 jQuery
五分钟搞懂Vuex实用知识(小结)
2019/08/12 Javascript
ZK中使用JS读取客户端txt文件内容问题
2019/11/07 Javascript
解决vue刷新页面以后丢失store的数据问题
2020/08/11 Javascript
js通过canvas生成图片缩略图
2020/10/02 Javascript
django输出html内容的实例
2018/05/27 Python
使用PM2+nginx部署python项目的方法示例
2018/11/07 Python
python视频按帧截取图片工具
2019/07/23 Python
Python常用编译器原理及特点解析
2020/03/23 Python
Python configparser模块应用过程解析
2020/08/14 Python
Django怎么在admin后台注册数据库表
2020/11/14 Python
matplotlib 范围选区(SpanSelector)的使用
2021/02/24 Python
Eastbay官网:美国最大的运动鞋网络零售商
2016/07/27 全球购物
Bugatchi官方网站:男士服装在线
2019/04/10 全球购物
酒店管理专业学生求职信
2013/09/27 职场文书
大学毕业生自荐书怎么写?
2014/01/06 职场文书
城市精细化管理实施方案
2014/03/04 职场文书
个人授权委托书范本
2014/04/03 职场文书
MySQL安装后默认自带数据库的作用详解
2021/04/27 MySQL
Django+Celery实现定时任务的示例
2021/06/23 Python