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创建只读属性对象的方法(ReadOnlyObject)
Feb 10 Python
忘记ftp密码使用python ftplib库暴力破解密码的方法示例
Jan 22 Python
Python中装饰器的一个妙用
Feb 08 Python
使用PyCharm配合部署Python的Django框架的配置纪实
Nov 19 Python
Python实现在某个数组中查找一个值的算法示例
Jun 27 Python
浅谈django的render函数的参数问题
Oct 16 Python
Ubuntu18.04中Python2.7与Python3.6环境切换
Jun 14 Python
python实现多进程通信实例分析
Sep 01 Python
TensorFlow2.1.0最新版本安装详细教程
Apr 08 Python
详解python安装matplotlib库三种失败情况
Jul 28 Python
flask框架中的cookie和session使用
Jan 31 Python
总结Python使用过程中的bug
Jun 18 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函数,php爱好者站推荐
2007/03/19 PHP
使用php判断浏览器的类型和语言的函数代码
2013/02/28 PHP
基于PHP 面向对象之成员方法详解
2013/05/04 PHP
PHP Echo字符串的连接格式
2016/03/07 PHP
Zend Framework使用Zend_Loader组件动态加载文件和类用法详解
2016/12/09 PHP
php简单随机字符串生成方法示例
2017/04/19 PHP
PHP实现电商订单自动确认收货redis队列
2017/05/17 PHP
PHP中的日期时间处理利器实例(Carbon)
2017/06/09 PHP
关于laravel 数据库迁移中integer类型是无法指定长度的问题
2019/10/09 PHP
JavaScript中判断函数、变量是否存在
2015/06/10 Javascript
javascript下拉列表菜单的实现方法
2015/11/18 Javascript
jquery插件uploadify实现带进度条的文件批量上传
2015/12/13 Javascript
Javascript实现时间倒计时效果
2017/07/15 Javascript
nodejs爬虫初试superagent和cheerio
2018/03/05 NodeJs
javascript设计模式 ? 观察者模式原理与用法实例分析
2020/04/22 Javascript
js仿京东放大镜效果
2020/08/09 Javascript
urllib2自定义opener详解
2014/02/07 Python
Python高级应用实例对比:高效计算大文件中的最长行的长度
2014/06/08 Python
python中迭代器(iterator)用法实例分析
2015/04/29 Python
简单学习Python多进程Multiprocessing
2017/08/29 Python
python脚本作为Windows服务启动代码详解
2018/02/11 Python
python 搭建简单的http server,可直接post文件的实例
2019/01/03 Python
好药师网上药店:安全合法的网上药品零售药房
2017/02/15 全球购物
JD Sports马来西亚:英国领先的运动鞋和运动服饰零售商
2018/03/13 全球购物
一些Unix笔试题和面试题
2013/01/22 面试题
成人大专生实习期的自我评价
2013/10/02 职场文书
金融管理专业毕业生求职信
2014/03/12 职场文书
党员公开承诺书内容
2014/05/20 职场文书
五四青年节的活动方案
2014/08/20 职场文书
农业生产宣传标语
2014/10/08 职场文书
2015年秋季小学开学典礼主持词
2015/07/16 职场文书
2016十一国庆节慰问信
2015/12/01 职场文书
私人贷款担保书该怎么写呢?
2019/07/02 职场文书
MySql新手入门的基本操作汇总
2021/05/13 MySQL
Qt自定义Plot实现曲线绘制的详细过程
2021/11/02 Python
mysql 生成连续日期及变量赋值
2022/03/20 MySQL