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合并文本文件示例
Feb 07 Python
Python实现备份文件实例
Sep 16 Python
初步探究Python程序的执行原理
Apr 11 Python
Python计算字符宽度的方法
Jun 14 Python
利用selenium爬虫抓取数据的基础教程
Jun 10 Python
如何通过50行Python代码获取公众号全部文章
Jul 12 Python
python集合删除多种方法详解
Feb 10 Python
解决pycharm编辑区显示yaml文件层级结构遇中文乱码问题
Apr 27 Python
Python调用.net动态库实现过程解析
Jun 05 Python
使用keras实现Precise, Recall, F1-socre方式
Jun 15 Python
Python基础教程,Python入门教程(超详细)
Jun 24 Python
讲解Python实例练习逆序输出字符串
May 06 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中global和$GLOBALS[]的分析之一
2012/02/02 PHP
成为好程序员必须避免的5个坏习惯
2014/07/04 PHP
php实现redis数据库指定库号迁移的方法
2015/01/14 PHP
php实现改变图片直接打开为下载的方法
2015/04/14 PHP
JavaScript 拾漏补遗
2009/12/27 Javascript
jQuery开发者都需要知道的5个小技巧
2010/01/08 Javascript
javascript在当前窗口关闭前检测窗口是否关闭
2014/09/29 Javascript
Node.js开发之访问Redis数据库教程
2015/01/14 Javascript
js实现正则匹配中文标点符号的方法
2015/12/23 Javascript
原生JS实现旋转木马式图片轮播插件
2016/04/25 Javascript
浅析vue component 组件使用
2017/03/06 Javascript
使用Vue.js和Flask来构建一个单页的App的示例
2018/03/21 Javascript
vue2 设置router-view默认路径的实例
2018/09/20 Javascript
JS实现购物车基本功能
2020/11/08 Javascript
python如何去除字符串中不想要的字符
2020/07/05 Python
Python使用修饰器进行异常日志记录操作示例
2019/03/19 Python
Python中变量的输入输出实例代码详解
2019/07/28 Python
pytorch nn.Conv2d()中的padding以及输出大小方式
2020/01/10 Python
使用Python文件读写,自定义分隔符(custom delimiter)
2020/07/05 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
绝对令人的惊叹的CSS3折叠效果(3D效果)整理
2012/12/30 HTML / CSS
一款纯css3实现的tab选项卡的实列教程
2014/12/11 HTML / CSS
使用phonegap操作数据库的实现方法
2017/03/31 HTML / CSS
移动端Html5页面生成图片解决方案
2018/08/07 HTML / CSS
Wilson体育用品官网:美国著名运动器材品牌
2019/05/12 全球购物
SOA的常见陷阱或者误解是什么
2014/10/05 面试题
信息系统专业个人求职信范文
2013/12/07 职场文书
办理房产证委托书
2014/09/18 职场文书
学院党委班子四风问题自查报告及整改措施
2014/10/25 职场文书
服务员态度差检讨书
2014/10/28 职场文书
大学生求职自荐信范文
2015/03/04 职场文书
清明扫墓感想
2015/08/11 职场文书
2016党风廉政建设心得体会范文
2016/01/25 职场文书
2019幼儿园感恩节活动策划书
2019/11/28 职场文书
PYTHON基于Pyecharts绘制常见的直角坐标系图表
2022/04/28 Python
Win11如何默认打开软件界面最大化?Win11默认打开软件界面最大化的方法
2022/07/15 数码科技