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 相关文章推荐
基于Django的python验证码(实例讲解)
Oct 23 Python
python使用标准库根据进程名如何获取进程的pid详解
Oct 31 Python
Python统计单词出现的次数
Apr 04 Python
Python判断变量名是否合法的方法示例
Jan 28 Python
PyTorch搭建多项式回归模型(三)
May 22 Python
Python三元运算与lambda表达式实例解析
Nov 30 Python
Ranorex通过Python将报告发送到邮箱的方法
Jan 12 Python
python邮件中附加文字、html、图片、附件实现方法
Jan 04 Python
Python字符串的15个基本操作(小结)
Feb 03 Python
Python实现的扫码工具居然这么好用!
Jun 07 Python
OpenCV图像变换之傅里叶变换的一些应用
Jul 26 Python
Python pandas求方差和标准差的方法实例
Aug 04 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的call_user_func传reference引发的思考
2010/07/23 PHP
浅析php学习的路线图
2013/07/10 PHP
获取URL文件名后缀
2013/10/24 PHP
PHP JSON出错:Cannot use object of type stdClass as array解决方法
2014/08/16 PHP
弹出模态框modal的实现方法及实例
2017/09/19 PHP
一些有关检查数据的JS代码
2006/09/07 Javascript
JavaScript的类型简单说明
2010/09/03 Javascript
简单的ajax连接库分享(不用jquery的ajax)
2014/01/19 Javascript
一些老手都不一定知道的JavaScript技巧
2014/05/06 Javascript
Jquery $when done then的用法详解
2016/05/20 Javascript
jquery mobile实现可折叠的导航按钮
2017/03/11 Javascript
Angular项目中$scope.$apply()方法的使用详解
2017/07/26 Javascript
Angular2+国际化方案(ngx-translate)的示例代码
2017/08/23 Javascript
JSON在Javascript中的使用(eval和JSON.parse的区别)详细解析
2017/09/05 Javascript
vue+springmvc导出excel数据的实现代码
2018/06/27 Javascript
Bootstrap导航菜单点击后无法自动添加active的处理方法
2018/08/10 Javascript
Vue+Bootstrap实现简易学生管理系统
2021/02/09 Vue.js
在树莓派2或树莓派B+上安装Python和OpenCV的教程
2015/03/30 Python
基于Python闭包及其作用域详解
2017/08/28 Python
Python使用functools实现注解同步方法
2018/02/06 Python
python图的深度优先和广度优先算法实例分析
2019/10/26 Python
Tensorflow中tf.ConfigProto()的用法详解
2020/02/06 Python
Python pandas 列转行操作详解(类似hive中explode方法)
2020/05/18 Python
中国电子产品外贸网站:MiniIntheBox
2017/02/06 全球购物
中国跨境电子商务网站:NewFrog
2018/03/10 全球购物
澳大利亚最大的网上油画销售画廊:Direct Art Australia
2018/04/15 全球购物
英国最大的香水商店:The Fragrance Shop
2018/07/06 全球购物
Osklen官方在线商店:巴西服装品牌
2019/04/25 全球购物
阿联酋优惠券服务:Living Kool
2019/12/12 全球购物
小学生评语大全
2014/04/18 职场文书
超市开业庆典策划方案
2014/05/14 职场文书
早读课迟到检讨书
2014/09/25 职场文书
教师三严三实学习心得体会
2014/10/11 职场文书
经典搞笑版检讨书
2015/02/19 职场文书
公诉意见书范文
2015/06/05 职场文书
小学六年级班主任工作经验交流材料
2015/11/02 职场文书