python中常用的各种数据库操作模块和连接实例

时间:2024-01-18 16:29:20 

工作中,经常会有用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,数据库
0
投稿

猜你喜欢

  • python绘制随机网络图形示例

    2023-10-03 11:21:38
  • TensorFlow MNIST手写数据集的实现方法

    2022-12-19 19:45:02
  • 基于Python绘制世界疫情地图详解

    2021-11-23 09:10:36
  • 详解django自定义中间件处理

    2023-09-30 08:19:12
  • 一个ASP站内搜索的实例源代码

    2007-09-21 12:13:00
  • [CSS+JS]同一页面可以重复使用的选项卡

    2009-02-12 12:53:00
  • Python下载网易云歌单歌曲的示例代码

    2023-06-10 17:06:28
  • python爬取音频下载的示例代码

    2023-07-25 09:59:57
  • Python使用Selenium、PhantomJS爬取动态渲染页面

    2023-12-20 22:24:55
  • python字符串操作详析

    2022-09-14 04:57:08
  • 浅谈Transact-SQL

    2024-01-23 20:13:22
  • Python中asyncio模块的深入讲解

    2022-05-18 22:33:53
  • python黑魔法之编码转换

    2022-08-11 10:03:41
  • 关于SQL数据库 msdb.dbo.sp_send_dbmail 函数发送邮件的场景分析

    2024-01-14 19:20:11
  • Python使用ffmpy将amr格式的音频转化为mp3格式的例子

    2021-06-14 13:50:07
  • Python selenium模拟手动操作实现无人值守刷积分功能

    2021-07-30 23:54:08
  • JavaScript实现点击按钮复制指定区域文本(推荐)

    2023-08-22 17:36:30
  • 利用Python+OpenCV三步去除水印

    2021-09-17 10:32:30
  • Python基于Matplotlib库简单绘制折线图的方法示例

    2021-10-26 15:01:12
  • SQL Server 复制需要有实际的服务器名称才能连接到服务器

    2024-01-18 09:17:15
  • asp之家 网络编程 m.aspxhome.com