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 相关文章推荐
videocapture库制作python视频高速传输程序
Dec 23 Python
Python中MYSQLdb出现乱码的解决方法
Oct 11 Python
python获取android设备的GPS信息脚本分享
Mar 06 Python
Pycharm学习教程(1) 定制外观
May 02 Python
python回调函数中使用多线程的方法
Dec 25 Python
Python实现DDos攻击实例详解
Feb 02 Python
Python3实现的简单工资管理系统示例
Mar 12 Python
python 实现将多条曲线画在一幅图上的方法
Jul 07 Python
Python 装饰器原理、定义与用法详解
Dec 07 Python
pandas factorize实现将字符串特征转化为数字特征
Dec 19 Python
python 实现 hive中类似 lateral view explode的功能示例
May 18 Python
Python判断变量是否是None写法代码实例
Oct 09 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定时执行计划任务的多种方法小结
2011/12/19 PHP
php用正则表达式匹配中文实例详解
2013/11/06 PHP
ThinkPHP表单数据智能写入create方法实例分析
2015/09/27 PHP
微信公众平台DEMO(PHP)
2016/05/04 PHP
详解php几行代码实现CSV格式文件输出
2017/07/01 PHP
phpstorm最新激活码分享亲测phpstorm2020.2.3版可用
2020/11/22 PHP
说明你的Javascript技术很烂的五个原因
2011/04/26 Javascript
ASP.NET jQuery 实例17 通过使用jQuery validation插件校验ListBox
2012/02/03 Javascript
js实现点击后将文字或图片复制到剪贴板的方法
2014/08/04 Javascript
Windows下用PyCharm和Visual Studio开始Python编程
2015/10/26 Javascript
js中flexible.js实现淘宝弹性布局方案
2020/06/23 Javascript
Bootstrap创建可折叠的组件
2016/02/23 Javascript
使用Javascript判断浏览器终端设备(PC、IOS(iphone)、Android)
2017/01/04 Javascript
在javaScript中检测数据类型的几种方式小结
2017/03/04 Javascript
jQuery树插件zTree使用方法详解
2017/05/02 jQuery
使用vue-router完成简单导航功能【推荐】
2018/06/28 Javascript
JavaScript实现的文本框placeholder提示文字功能示例
2018/07/25 Javascript
IE9 elementUI文件上传的问题解决
2018/10/17 Javascript
详解如何搭建mpvue框架搭配vant组件库的小程序项目
2019/05/16 Javascript
vue如何自动化打包测试环境和正式环境的dist/test文件
2019/06/06 Javascript
python读写文件操作示例程序
2013/12/02 Python
利用Anaconda完美解决Python 2与python 3的共存问题
2017/05/25 Python
Python实现的井字棋(Tic Tac Toe)游戏示例
2018/01/31 Python
python3 selenium 切换窗口的几种方法小结
2018/05/21 Python
python 统计列表中不同元素的数量方法
2018/06/29 Python
详解Python是如何实现issubclass的
2019/07/24 Python
matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例
2020/04/22 Python
python函数调用,循环,列表复制实例
2020/05/03 Python
matplotlib之pyplot模块之标题(title()和suptitle())
2021/02/22 Python
廉洁校园实施方案
2014/05/25 职场文书
乳制品整治工作方案
2014/05/29 职场文书
银行先进个人总结
2015/02/15 职场文书
2015年119消防宣传日活动总结
2015/03/24 职场文书
2016感恩母亲节校园广播稿
2015/12/17 职场文书
聊一聊python常用的编程模块
2021/05/14 Python
在vue中import()语法不能传入变量的问题及解决
2022/04/01 Vue.js