数据库为数据提供了安全、可靠、完整的存储方式。Python提供了多种连接数据库的手段,包括ODBC、DAO、ADO,以及Python的专用模块等方式。Python的shelve模块可以模拟小型数据库,支持以字典的方式访问数据库。SQLite是一种嵌入式的数据库,通常作为Python的GUI程序的后台数据库。
Python提供了连接Oracle、MySQL等数据库的专用模块,ADO和Python的专用模块是比较常用的访问方法。
通过ODBC访问数据库
ODBC是微软建立的一组规范,ODBC提供了一组对数据库访问的应用程序编程接口,通过这些接口函数可以完成数据库的各种操作。ODBC的应用程序不依赖任何数据库,所有的数据库操作都有对应的数据库ODBC驱动程序完成。
(1)在Access数据库中创建数据库,并创建表
(2)访问数据库之前先创建数据源,建立Access和ODBC之间的连接,完成之后即完成了ODBC连接的配置。
这样在程序中就可以正常调用addresses数据库了,ODBC连接数据主要是使用odbc()返回的curser对象对数据集合进行操作。
使用DAO对象访问数据库
DAO具有面向对象的接口,提供了Microsoft Jet数据库引擎,可以直接连接到数据库,Python的扩展模块win32com.client实现了DAO的连接方式,DAO的连接不需要类似ODBC的配置操作,可以直接在Python程序中连接数据库。
使用ADO访问数据库
ADO是微软提供的连接数据库的接口,ADO比DAO的访问速度更快,ADO的连接方式需要设置连接字符串,连接字符串是由连接数据库的参数组成的。
使用sqlite3模块访问SQLite数据库
步骤:
(1)导入sqlite3模块
(2)调用connect()创建数据库连接,返回连接对象conn
(3)调用conn.execute()方法创建表结构并插入数据,如果设置了手动提交,需要调用conn.commit()提交插入数据或修改的数据
(4)调用conn.cursor()方法返回游标,通过cur.execute()方法查询数据库
(5)调用cur.fetchall()、cur.fetchmany()或cur.fetchone()返回查询结果
(6)关闭cur和conn