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中使用wxPython开发的一个简易笔记本程序实例
Feb 08 Python
python简单获取本机计算机名和IP地址的方法
Jun 03 Python
python 基本数据类型占用内存空间大小的实例
Jun 12 Python
详解windows python3.7安装numpy问题的解决方法
Aug 13 Python
python实现比对美团接口返回数据和本地mongo数据是否一致示例
Aug 09 Python
Python 中pandas索引切片读取数据缺失数据处理问题
Oct 09 Python
Python pickle模块实现对象序列化
Nov 22 Python
python实现全排列代码(回溯、深度优先搜索)
Feb 26 Python
150行python代码实现贪吃蛇游戏
Apr 24 Python
PyTorch-GPU加速实例
Jun 23 Python
Django URL参数Template反向解析
Nov 24 Python
Python爬虫定时计划任务的几种常见方法(推荐)
Jan 15 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
Dedecms V3.1 生成HTML速度的优化办法
2007/03/18 PHP
深入理解curl类,可用于模拟get,post和curl下载
2013/06/08 PHP
php图像处理函数大全(推荐收藏)
2013/07/11 PHP
学习php设计模式 php实现访问者模式(Visitor)
2015/12/07 PHP
phpcms实现验证码替换及phpcms实现全站搜索功能教程详解
2017/12/13 PHP
PHP区块查询实现方法分析
2018/05/12 PHP
新浪中用来显示flash的函数
2007/04/02 Javascript
原生js拖拽(第一课 未兼容)拖拽思路
2013/03/29 Javascript
JS 实现Json查询的方法实例
2013/04/12 Javascript
JavaScript实现的日期控件具体代码
2013/11/18 Javascript
js处理php输出时间戳对不上号的解决方法
2014/06/20 Javascript
JavaScript严格模式禁用With语句的原因
2014/10/20 Javascript
js实现Select下拉框具有输入功能的方法
2015/02/06 Javascript
用JavaScript实现页面重定向功能的教程
2015/06/04 Javascript
JS实现黑客帝国文字下落效果
2015/09/01 Javascript
javascript实现右下角广告框效果
2017/02/01 Javascript
Bootstrap表单制作代码
2017/03/17 Javascript
Javascript 实现匿名递归的实例代码
2017/05/25 Javascript
使用Python脚本将Bing的每日图片作为桌面的教程
2015/05/04 Python
python的numpy模块安装不成功简单解决方法总结
2017/12/23 Python
使用Jupyter notebooks上传文件夹或大量数据到服务器
2020/04/14 Python
深入浅析python 中的self和cls的区别
2020/06/20 Python
几款Python编译器比较与推荐(小结)
2020/10/15 Python
纯CSS3实现8组超炫酷鼠标滑过图片动画
2016/03/16 HTML / CSS
前端实现打印图像功能
2019/08/27 HTML / CSS
摩顿布朗英国官方网上商店:奢华沐浴、身体和头发护理
2016/10/29 全球购物
英国汽车零件购物网站:GSF Car Parts
2019/05/23 全球购物
俄罗斯在线购买飞机票、火车票、巴士票网站:Tutu.ru
2020/03/16 全球购物
小学教师听课制度
2014/02/01 职场文书
工厂见习报告范文
2014/10/31 职场文书
2014年幼儿园保育工作总结
2014/12/02 职场文书
幼儿园三八妇女节活动总结
2015/02/06 职场文书
2015年推普周活动总结
2015/03/27 职场文书
学校青年志愿者活动总结
2015/05/06 职场文书
机关干部纪律作风整顿心得体会
2016/01/23 职场文书
《水浒传》读后感3篇(范文)
2019/09/19 职场文书