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 相关文章推荐
如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
Oct 13 Python
Python基于递归算法实现的走迷宫问题
Aug 04 Python
python+influxdb+shell编写区域网络状况表
Jul 27 Python
python批量赋值操作实例
Oct 22 Python
python基于C/S模式实现聊天室功能
Jan 09 Python
django中使用Celery 布式任务队列过程详解
Jul 29 Python
PIL对上传到Django的图片进行处理并保存的实例
Aug 07 Python
Python3常用内置方法代码实例
Nov 18 Python
python3 assert 断言的使用详解 (区别于python2)
Nov 27 Python
关于Python解包知识点总结
May 05 Python
Python填充任意颜色,不同算法时间差异分析说明
May 16 Python
Python编写万花尺图案实例
Jan 03 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
phpMyAdmin 安装教程全攻略
2007/03/19 PHP
完美的2个php检测字符串是否是utf-8编码函数分享
2014/07/28 PHP
ThinkPHP3.2.2的插件控制器功能
2015/03/05 PHP
php如何修改SESSION的生存存储时间的实例代码
2017/07/05 PHP
PHP 代码简洁之道(小结)
2019/10/16 PHP
PHP获取php,mysql,apche的版本信息及更多服务器信息
2021/03/09 PHP
做网页的一些技巧(续)
2007/02/01 Javascript
Javascript 判断 object 的特定类转载
2007/02/01 Javascript
Jquery之Bind方法参数传递与接收的三种方法
2014/06/24 Javascript
Javascript调用函数方法的几种方式介绍
2015/03/20 Javascript
基于jquery实现可定制的web在线富文本编辑器附源码下载
2015/11/17 Javascript
微信小程序 Windows2008 R2服务器配置TLS1.2方法
2016/12/05 Javascript
Django+Vue.js搭建前后端分离项目的示例
2017/08/07 Javascript
微信小程序中如何使用flyio封装网络请求
2019/07/03 Javascript
JQuery表单元素取值赋值方法总结
2020/05/12 jQuery
Openlayers实现地图全屏显示
2020/09/28 Javascript
Python Socket编程入门教程
2014/07/11 Python
python遍历数组的方法小结
2015/04/30 Python
python根据京东商品url获取产品价格
2015/08/09 Python
浅谈Python数据类型之间的转换
2016/06/08 Python
机器学习python实战之手写数字识别
2017/11/01 Python
Python初学者需要注意的事项小结(python2与python3)
2018/09/26 Python
python 使用 requests 模块发送http请求 的方法
2018/12/09 Python
Python 普通最小二乘法(OLS)进行多项式拟合的方法
2018/12/29 Python
python读取excel数据绘制简单曲线图的完整步骤记录
2020/10/30 Python
健康监测猫砂:Pretty Litter
2017/05/25 全球购物
美国最佳在线航班预订网站:LookupFare
2019/03/26 全球购物
上海天奕面试题笔试题
2015/04/19 面试题
环境工程大学生个人的自我评价
2013/10/08 职场文书
五型班组建设方案
2014/02/10 职场文书
经理秘书求职自荐信范文
2014/03/23 职场文书
毕业评语大全
2014/05/04 职场文书
音乐之声音乐广播稿
2014/09/10 职场文书
团党委领导干部党的群众路线教育实践活动个人对照检查材料思想汇
2014/10/05 职场文书
2015年度优秀员工自荐书
2015/03/06 职场文书
ConditionalOnProperty配置swagger不生效问题及解决
2022/06/14 Java/Android