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学习笔记:字典的使用示例详解
Jun 13 Python
Python urls.py的三种配置写法实例详解
Apr 28 Python
python中利用await关键字如何等待Future对象完成详解
Sep 07 Python
python实现维吉尼亚算法
Mar 20 Python
详解python读取image
Apr 03 Python
Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加签验签
Dec 04 Python
如何基于python实现归一化处理
Jan 20 Python
解决pymysql cursor.fetchall() 获取不到数据的问题
May 15 Python
MAC平台基于Python Appium环境搭建过程图解
Aug 13 Python
Python创建文件夹与文件的快捷方法
Dec 08 Python
用 Python 元类的特性实现 ORM 框架
May 19 Python
python常见的占位符总结及用法
Jul 02 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
非常好的php目录导航文件代码
2006/10/09 PHP
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
2007/02/22 PHP
用PHP实现维护文件代码
2007/06/14 PHP
图片自动更新(说明)
2006/10/02 Javascript
JQuery扩展插件Validate 2通过参数设置验证规则
2011/09/05 Javascript
使用jquery解析XML的方法
2014/09/05 Javascript
使用js画图之画切线
2015/01/12 Javascript
jquery插件jquery.nicescroll实现图片无滚动条左右拖拽的方法
2015/08/10 Javascript
js数组如何添加json数据及js数组与json的区别
2015/10/27 Javascript
JavaScript表单焦点自动切换代码
2016/07/24 Javascript
JS获取url参数、主域名的方法实例分析
2016/08/03 Javascript
javascript基于原型链的继承及call和apply函数用法分析
2016/12/15 Javascript
VUE多层路由嵌套实现代码
2017/05/15 Javascript
捕获未处理的Promise错误方法
2017/10/13 Javascript
Angular2之二级路由详解
2018/08/31 Javascript
JavaScript实现公告栏上下滚动效果
2020/03/13 Javascript
详解elementUI中input框无法输入的问题
2020/04/27 Javascript
[01:06:59]完美世界DOTA2联赛PWL S2 Magma vs FTD 第一场 11.29
2020/12/02 DOTA
python 回调函数和回调方法的实现分析
2016/03/23 Python
Python面向对象类继承和组合实例分析
2018/05/28 Python
Django进阶之CSRF的解决
2018/08/01 Python
python3正则提取字符串里的中文实例
2019/01/31 Python
Django User 模块之 AbstractUser 扩展详解
2020/03/11 Python
Django admin 实现search_fields精确查询实例
2020/03/30 Python
pytorch 常用函数 max ,eq说明
2020/06/28 Python
CSS3中的display:grid,网格布局介绍
2019/10/30 HTML / CSS
魅力惠奢品线上平台:MEI.COM
2016/11/29 全球购物
智能钱包:Ekster
2019/11/21 全球购物
送货司机岗位职责
2013/12/11 职场文书
校园歌手大赛策划书
2014/01/17 职场文书
高中生的自我鉴定范文
2014/01/24 职场文书
一年级数学上册复习计划
2015/01/17 职场文书
冰雪公主观后感
2015/06/16 职场文书
2016年机关单位节能宣传周活动总结
2016/04/05 职场文书
详解java如何集成swagger组件
2021/06/21 Java/Android
使用Ajax实现进度条的绘制
2022/04/07 Javascript