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和php通信乱码问题解决方法
Apr 15 Python
日常整理python执行系统命令的常见方法(全)
Oct 22 Python
python字典的常用操作方法小结
May 16 Python
如何将python中的List转化成dictionary
Aug 15 Python
基于hashlib模块--加密(详解)
Jun 21 Python
Python爬虫中urllib库的进阶学习
Jan 05 Python
python 将日期戳(五位数时间)转换为标准时间
Jul 11 Python
python删除文件夹下相同文件和无法打开的图片
Jul 16 Python
如何在django中运行scrapy框架
Apr 22 Python
Python基于codecs模块实现文件读写案例解析
May 11 Python
Python如何实现线程间通信
Jul 30 Python
如何查看python关键字
Jan 17 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
图书管理程序(二)
2006/10/09 PHP
php学习笔记 面向对象的构造与析构方法
2011/06/13 PHP
Yii CFileCache 获取不到值的原因分析
2017/02/08 PHP
一个页面元素appendchild追加到另一个页面元素的问题
2013/01/27 Javascript
jquery中$.post()方法的简单实例
2014/02/04 Javascript
jQuery实现鼠标经过图片变亮其他变暗效果
2015/05/08 Javascript
jquery ezUI 双击行记录弹窗查看明细的实现方法
2016/06/01 Javascript
JavaScript标准对象_动力节点Java学院整理
2017/06/27 Javascript
一篇文章让你彻底弄懂JS的事件冒泡和事件捕获
2017/08/14 Javascript
react-native使用react-navigation进行页面跳转导航的示例
2017/09/07 Javascript
vue axios请求超时的正确处理方法
2018/04/02 Javascript
在angular 6中使用 less 的实例代码
2018/05/13 Javascript
python基于multiprocessing的多进程创建方法
2015/06/04 Python
玩转python selenium鼠标键盘操作(ActionChains)
2020/04/12 Python
Python实现的多线程http压力测试代码
2017/02/08 Python
在Python中使用AOP实现Redis缓存示例
2017/07/11 Python
python自动12306抢票软件实现代码
2018/02/24 Python
Python Selenium 之关闭窗口close与quit的方法
2019/02/13 Python
Python numpy数组转置与轴变换
2019/11/15 Python
Python线程障碍对象Barrier原理详解
2019/12/02 Python
python中str内置函数用法总结
2020/12/27 Python
CSS3感应鼠标的背景闪烁和图片缩放动画效果
2014/05/14 HTML / CSS
如何使用localstorage代替cookie实现跨域共享数据问题
2018/04/18 HTML / CSS
美国环保婴儿用品公司:The Honest Company
2017/11/23 全球购物
Sneaker Studio捷克:购买运动鞋
2018/07/08 全球购物
Oracle的内存结构(Memory structures)
2015/06/10 面试题
什么是虚拟内存?虚拟内存有什么优势?
2012/02/19 面试题
班级心理活动总结
2014/07/04 职场文书
竞选班干部演讲稿100字
2014/08/20 职场文书
护士医德医风自我评价
2014/09/15 职场文书
2015年清明节演讲稿范文
2015/03/17 职场文书
出生证明格式
2015/06/15 职场文书
小学总务工作总结
2015/08/13 职场文书
靠谱的活动总结
2019/04/16 职场文书
Javascript中的解构赋值语法详解
2021/04/02 Javascript
Nginx 安装SSL证书完成HTTPS部署
2022/04/28 Servers