第十章 Python的数据库编程
10.1 Python环境下的数据库编程
1、通过ODBC访问数据库
ODBC是微软建立的一组规范,可以直接对数据库访问的应用程序接口。
方法:开始 控制面板 管理工具 数据源 添加相应的数据库程序,最后确定完成ODBC的配置。这样在Python程序中就可以直接调用adress数据库。ODBC连接数据主要是使用odbc()对象的数据集合进行操作。
import odbc, dbi # 导入ODBC模块和驱动程序
import time
db = odbc.odbc('addresses/scott/tiger') # 打开数据库连接
curser = db.cursor() # 产生cursor游标
curser.execute("select * from address order by id desc")
for col in curser.description: # 显示行描述
print col[0], col[1]
result = curser.fetchall()
for row in result: # 输出各字段的值
print row
print row[1], row[2]
timeTuple = time.localtime(row[3])
print time.strftime('%Y/%m/%d', timeTuple)
5、curser 游标,它可以查询、添加、删除和修改数据库。
6、execute () 查询表address的内容。
7、description 属性 。
8、输出字段名、字段类型
9、fetchall() 方法,返回结果集对象result
10、输出表adress每行的内容。
12、输出name 、adress 字段的值。
13、localtime() 方法:把字段createtime 转换成元组
14、suftime()方法:把元组格式化为字符串输出。
2、使用DAO对象访问数据库
DAO具有面向对象的接口,适用于小型应用程序或小范围本地使用。DAO模型是设计关系数据库系统结构的对象类的集合。Python的扩展模块win32com.client 实现了DAO的连接方式,即DAO不需要类似ODBC的配置操作,可以在Python程序中直接连接数据库。
<span style="font-size:18px;">#通过DAO方式连接ACCESS数据库addresses ,并演示DAO查询和插入等操作
import win32com.client
engine = win32com.client.Dispatch("DAO.DBEngine.36") # 实例化数据库引擎
db = engine.OpenDatabase("addresses.mdb") # 打开数据库连接
rs = db.OpenRecordset("address") # 根据表名返回结果集对象
rs = db.OpenRecordset("select * from address") # 通过SQL语句返回数据集对象
# 插入数据
db.Execute("""
insert into address(name, address, createtime)
values('赵涛', '上海虹口', '2008-3-25')
""")
while not rs.EOF: