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通过floor函数舍弃小数位的方法
Mar 17 Python
python中子类继承父类的__init__方法实例
Dec 15 Python
django+mysql的使用示例
Nov 23 Python
详解pandas的外部数据导入与常用方法
May 01 Python
python实现视频分帧效果
May 31 Python
python list转置和前后反转的例子
Aug 26 Python
python如何实现复制目录到指定目录
Feb 13 Python
浅谈spring boot 集成 log4j 解决与logback冲突的问题
Feb 20 Python
有趣的Python图片制作之如何用QQ好友头像拼接出里昂
Apr 22 Python
keras K.function获取某层的输出操作
Jun 29 Python
Django搭建项目实战与避坑细节详解
Dec 06 Python
Python实现网络聊天室的示例代码(支持多人聊天与私聊)
Jan 27 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
PHP远程连接MYSQL数据库非常慢的解决方法
2008/07/05 PHP
CodeIgniter针对lighttpd服务器URL重写的方法
2015/06/10 PHP
php验证码实现代码(3种)
2015/09/07 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
2018/06/16 PHP
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
2013/04/08 Javascript
Extjs优化(一)删除冗余代码提高运行速度
2013/04/15 Javascript
JavaScript实现QueryString获取GET参数的方法
2013/07/02 Javascript
js中方法重载如何实现?以及函数的参数问题
2013/08/01 Javascript
js运动应用实例解析
2015/12/28 Javascript
原生JS下拉加载插件分享
2016/12/26 Javascript
js面向对象编程总结
2017/02/16 Javascript
bootstrap选项卡扩展功能详解
2017/06/14 Javascript
详解create-react-app 2.0版本如何启用装饰器语法
2018/10/23 Javascript
JavaScript设计模式之观察者模式实例详解
2019/01/16 Javascript
jQuery内容过滤选择器与子元素过滤选择器用法实例分析
2019/02/20 jQuery
vue单文件组件无法获取$refs的问题
2020/06/24 Javascript
python正则表达式及使用正则表达式的例子
2018/01/22 Python
详解Python使用tensorflow入门指南
2018/02/09 Python
磁盘垃圾文件清理器python代码实现
2020/08/24 Python
浅谈Python中重载isinstance继承关系的问题
2018/05/04 Python
python 获取当天每个准点时间戳的实例
2018/05/22 Python
python与C、C++混编的四种方式(小结)
2019/07/15 Python
在Django model中设置多个字段联合唯一约束的实例
2019/07/17 Python
numpy ndarray 取出满足特定条件的某些行实例
2019/12/05 Python
解决pyCharm中 module 调用失败的问题
2020/02/12 Python
Python unittest 自动识别并执行测试用例方式
2020/03/09 Python
HTML5 Canvas渐进填充与透明实现图像的Mask效果
2013/07/11 HTML / CSS
英国天然抗衰老护肤品品牌:Nakin Skin Care
2019/04/16 全球购物
Nike墨西哥官网:Nike MX
2020/08/30 全球购物
几道数据库的面试题或笔试题
2014/05/31 面试题
商场中秋节活动方案
2014/02/07 职场文书
祖国在我心中演讲稿300字
2014/05/04 职场文书
财会专业毕业生自荐信
2014/07/09 职场文书
中学生勤俭节约倡议书
2015/04/29 职场文书
2016年公司“3.12”植树节活动总结
2016/03/16 职场文书