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遍历目录并批量更换文件名和目录名的方法
Sep 19 Python
Python之py2exe打包工具详解
Jun 14 Python
基于Django filter中用contains和icontains的区别(详解)
Dec 12 Python
Python实现中一次读取多个值的方法
Apr 22 Python
python如何创建TCP服务端和客户端
Aug 26 Python
Python如何实现转换URL详解
Jul 02 Python
Pycharm+django2.2+python3.6+MySQL实现简单的考试报名系统
Sep 05 Python
django 中使用DateTime常用的时间查询方式
Dec 03 Python
Python编程快速上手——Excel表格创建乘法表案例分析
Feb 28 Python
Python编程快速上手——正则表达式查找功能案例分析
Feb 28 Python
基于python实现地址和经纬度转换
May 19 Python
Python基础详解之邮件处理
Apr 28 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应用技巧
2008/03/27 PHP
PHP中3种生成XML文件方法的速度效率比较
2012/10/06 PHP
探讨Hessian在PHP中的使用分析
2013/06/13 PHP
php接口和抽象类使用示例详解
2014/03/02 PHP
PHP错误处理函数
2016/04/03 PHP
ThinkPHP简单使用memcache缓存的方法
2016/11/15 PHP
通过Jquery遍历Json的两种数据结构的实现代码
2011/01/19 Javascript
JavaScript打开word文档的实现代码(c#)
2012/04/16 Javascript
table对象中的insertRow与deleteRow使用示例
2014/01/26 Javascript
jQuery中:input选择器用法实例
2015/01/03 Javascript
初识Javascript小结
2015/07/16 Javascript
BootStrap 轮播插件(carousel)支持左右手势滑动的方法(三种)
2016/07/07 Javascript
利用Angular.js编写公共提示模块的方法教程
2017/05/28 Javascript
webpack将js打包后的map文件详解
2018/02/22 Javascript
vue 监听某个div垂直滚动条下拉到底部的方法
2018/09/15 Javascript
微信小程序 WXML节点信息查询详解
2019/07/29 Javascript
Vue实现剪切板图片压缩功能
2020/02/04 Javascript
JavaScript用document.write()输出换行的示例代码
2020/11/26 Javascript
PyQt实现界面翻转切换效果
2018/04/20 Python
OpenCV 轮廓检测的实现方法
2019/07/03 Python
Django生成PDF文档显示在网页上以及解决PDF中文显示乱码的问题
2019/07/04 Python
django-crontab实现服务端的定时任务的示例代码
2020/02/17 Python
python分别打包出32位和64位应用程序
2020/02/18 Python
浅谈Pycharm的项目文件名是红色的原因及解决方式
2020/06/01 Python
萨克斯第五大道英国:Saks Fifth Avenue英国
2019/04/01 全球购物
JD Sports澳洲官网:英国领先的运动鞋和运动时尚零售商
2020/02/15 全球购物
英语专业毕业生求职简历的自我评价
2013/10/24 职场文书
2014五一国际劳动节活动总结范文
2014/04/14 职场文书
人力资源管理专业自荐信
2014/06/24 职场文书
驾驶员安全责任书范本
2014/07/24 职场文书
大二学生学年自我鉴定
2014/09/12 职场文书
会议接待欢迎标语
2014/10/08 职场文书
接待员岗位职责
2015/02/13 职场文书
行政前台岗位职责
2015/04/16 职场文书
MySQL 表空间碎片的概念及相关问题解决
2021/05/07 MySQL
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
2021/07/07 Servers