下面是详细讲解“Python操作Access数据库基本步骤分析”的完整攻略。
一、前置准备
- 安装Python的pyodbc库;
- 安装Microsoft Access驱动程序。一般情况下,Windows系统自带了Microsoft Access驱动程序,可以通过控制面板中的“ODBC数据源管理器”来查看和配置。
二、连接Access数据库
连接Access数据库需要用到pyodbc模块,以下是连接Access数据库的代码示例:
import pyodbc
ACCESS_DRIVER = 'Microsoft Access Driver (*.mdb, *.accdb)'
DB_PATH = r'C:\example.accdb'
cnxn = pyodbc.connect('DRIVER={};DBQ={}'.format(ACCESS_DRIVER, DB_PATH))
上述代码中,ACCESS_DRIVER
是连接Access数据库的驱动程序名,DB_PATH
是Access数据库文件的路径。pyodbc.connect()
方法用于连接Access数据库。
三、执行SQL语句
连接成功后,可以使用pyodbc
模块执行SQL语句。以下是执行SQL语句的代码示例:
import pyodbc
ACCESS_DRIVER = 'Microsoft Access Driver (*.mdb, *.accdb)'
DB_PATH = r'C:\example.accdb'
cnxn = pyodbc.connect('DRIVER={};DBQ={}'.format(ACCESS_DRIVER, DB_PATH))
cursor = cnxn.cursor()
# 执行SELECT语句
cursor.execute('SELECT * FROM example_table')
row = cursor.fetchone() # 获取一行记录
while row:
print(row)
row = cursor.fetchone()
# 执行INSERT语句
cursor.execute("INSERT INTO example_table (name, age, gender) VALUES ('Tom', 18, 'male')")
cnxn.commit() # 提交事务
上述代码中,cnxn.cursor()
方法用于获取游标对象,然后可以使用游标对象执行SQL语句。fetchone()
方法用于获取一行记录,如果fetchone()
返回None,说明已经取完了所有的记录。
另外需要注意的是,如果需要执行INSERT、UPDATE、DELETE等修改数据的SQL语句,必须调用cnxn.commit()
方法提交事务,否则修改不会生效。
四、完整示例
最后,我们来看一个完整的示例。假设Access数据库example.accdb
中有一张表students
,包含id
、name
、age
和gender
四个字段。以下是一个连接数据库并获取表中所有记录的完整代码示例:
import pyodbc
ACCESS_DRIVER = 'Microsoft Access Driver (*.mdb, *.accdb)'
DB_PATH = r'C:\example.accdb'
cnxn = pyodbc.connect('DRIVER={};DBQ={}'.format(ACCESS_DRIVER, DB_PATH))
cursor = cnxn.cursor()
# 查询表中所有记录
cursor.execute('SELECT * FROM students')
rows = cursor.fetchall() # 获取所有记录
for row in rows:
print(row.id, row.name, row.age, row.gender)
cnxn.close()
上述代码中,cursor.fetchall()
方法用于获取所有记录。for
循环用于遍历所有记录。最后使用cnxn.close()
方法关闭数据库连接。
总结
以上就是Python操作Access数据库基本步骤的分析。需要注意的是,如果要操作Access数据库,必须安装纯编译库版本的Python和pyodbc库,否则会出现“architecture mismatch”的错误。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python操作Access数据库基本步骤分析 - Python技术站