怎么用python写数据库_Python实现数据库编程方法详解

本文详细介绍了Python实现数据库编程的六种方法,包括使用DAO、Python DB API、Python ODBC、calldll模块、ADO以及特定数据库模块如mxODBC、MySQLdb等。通过实例代码展示了如何连接、操作和管理数据库,适合Python初学者参考。
摘要由CSDN通过智能技术生成

本文实例讲述了Python实现数据库编程方法。分享给大家供大家参考。具体分析如下:

用PYTHON语言进行数据库编程, 至少有六种方法可供采用. 我在实际项目中采用,不但功能强大,而且方便快捷.以下是我在工作和学习中经验总结.

方法一:使用DAO (Data Access Objects)

这个第一种方法可能会比较过时啦.不过还是非常有用的. 假设你已经安装好了PYTHONWIN,现在开始跟我上路吧……

找到工具栏上ToolsàCOM MakePy utilities,你会看到弹出一个Select Library的对话框, 在列表中选择'Microsoft DAO 3.6 Object Library'(或者是你所有的版本).

现在实现对数据的访问:

#实例化数据库引擎

import win32com.client

engine = win32com.client.Dispatch("DAO.DBEngine.35")

#实例化数据库对象,建立对数据库的连接

db = engine.OpenDatabase(r"c:/temp/mydb.mdb")

现在你有了数据库引擎的连接,也有了数据库对象的实例.现在就可以打开一个recordset了. 假设在数据库中已经有一个表叫做 'customers'. 为了打开这个表,对其中数据进行处理,我们使用下面的语法:

rs = db.OpenRecordset("customers")

#可以采用SQL语言对数据集进行操纵

rs = db.OpenRecordset("select * from customers where state = 'OH'")

你也可以采用DAO的execute方法. 比如这样:

db.Execute("delete * from customers where balancetype = 'overdue' and name = 'bill'")

#注意,删除的数据不能复原了J

EOF 等属性也是可以访问的, 因此你能写这样的语句:

while not rs.EOF:

print rs.Fields("State").Value

rs.MoveNext()

我最开始采用这个方法,感觉不错.

方法二:使用Python DB API,Python ODBC modules(you can use ODBC API directly, but maybe it is difficult for most beginner.)

为了在Python里面也能有通用的数据库接口,DB-SIG为我们提供了Python数据库.(欲知详情,访问DB-SIG的网站,http://www.python.org/sigs/db-sig/).   Mark

Hammond的win32扩展PythonWin里面包含了这些API的一个应用-odbc.pyd. 这个数据库API仅仅开放了一些有限的ODBC函数的功能(那不是它的目的),但是它使用起来很简单,而且在win32里面是免费的.

安装odbc.pyd的步骤如下:

1. 安装python软件包:

http://www.python.org/download/

2. 安装Mark Hammond的最新版本的python win32扩展 - PythonWin:

http://starship.python.net/crew/mhammond/

3. 安装必要的ODBC驱动程序,用ODBC管理器为你的数据库配置数据源等参数

你的应用程序将需要事先导入两个模块:

dbi.dll   - 支持各种各样的SQL数据类型,例如:日期-dates

odbc.pyd – 编译产生的ODBC接口

下面有一个例子:

import dbi, odbc # 导入ODBC模块

import time # 标准时间模块

dbc = odbc.odbc( # 打开一个数据库连接

'sample/monty/spam' # '数据源/用户名/密码'

)

crsr = dbc.cursor() # 产生一个cursor

crsr.execute( # 执行SQL语言

"""

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值