python调用access数据库_对Python通过pypyodbc访问Access数据库的方法详解

看书上通过ODBC访问数据库的案例,想实践一下在Python 3.6.1中实现access2003数据库的链接,但是在导入odbc模块的时候出现了问题,后来查了一些资料就尝试着使用pypyodbc,最后成功了。

操作步骤:

①安装pypyodbc

目前Python安装通常使用steup.py或者pip工具,在python3.4之后的的版本都默认包含了pip,因此,这里推荐使用pip工具。在cmd中执行:pip install pypyodbc,耐心等待执行完成,pypyodbc模块就已经安装成功了。如果提示安装超时或者失败可以重新再执行一次。执行成功后,查看C:\Python36\Lib\site-packages中就会发现多了pypyodbc的目录。这时候就可以使用pypyodbc模块了。

②创建数据源

先利用Access创建一个数据库,我是在D盘中创建了一个名称为addresses.mdb的数据库文件。然后在“控制面板”中找到“管理工具”,打开其中的“数据源(ODBC)”,选择“添加”,并选择“Microsoft Access Driver(*.mdb,*.accdb)”,点击完成。然后输入数据源名“addresses”,并点击“选择”找到在D盘创建的数据库。这样就将数据源创建完成。

20181027103722.jpg

20181027103731.jpg

20181027103742.jpg

20181027103751.jpg

③代码部分

import pypyodbc

str = 'Driver={Microsoft Access Driver (*.mdb,*.accdb)};DBQ=D:\\addresses.mdb'

db=pypyodbc.win_connect_mdb(str) # 打开数据库连接

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))

注意事项:

①如果过程中出现下图的情况,注意检查创建数据源过程中的驱动与代码中的Microsoft Access Driver (*.mdb,*.accdb)是否一致。

20181027103830.jpg

②注意这里使用的是pypyodbc.win_connect_mdb,如果使用pypyodbc.connect同样会出现:

20181027103838.jpg

③如果出现下图的情况,可能是文件已加密,只需要在DBQ前面加上:PWD=YourPWD(文件的密码)

20181027103847.jpg

以上这篇对Python通过pypyodbc访问Access数据库的方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python可以使用pyodbc库来连接和操作Microsoft Access数据库。以下是一些基本的操作步骤: 1. 安装pyodbc库 可以通过pip安装pyodbc库,命令如下: ``` pip install pyodbc ``` 2. 连接Access数据库 使用pyodbc连接Access数据库需要指定ODBC据源名称和访问数据库的用户名和密码。以下是连接Access数据库的示例代码: ```python import pyodbc # 连接Access数据库 connection = pyodbc.connect('DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=path/to/your/access/database/file.accdb;UID=username;PWD=password') # 获取游标 cursor = connection.cursor() ``` 3. 查询使用游标执行SQL语句并获取查询结果。以下是查询据的示例代码: ```python # 执行SQL查询 cursor.execute('SELECT * FROM your_table_name') # 获取查询结果 results = cursor.fetchall() # 遍历查询结果 for row in results: print(row) ``` 4. 插入使用游标执行INSERT语句插入据到Access数据库中。以下是插入据的示例代码: ```python # 执行INSERT语句插入据 cursor.execute("INSERT INTO your_table_name (column1, column2) VALUES ('value1', 'value2')") # 提交事务 connection.commit() ``` 5. 更新使用游标执行UPDATE语句更新Access数据库中的据。以下是更新据的示例代码: ```python # 执行UPDATE语句更新据 cursor.execute("UPDATE your_table_name SET column1='new_value1' WHERE id=1") # 提交事务 connection.commit() ``` 6. 删除使用游标执行DELETE语句删除Access数据库中的据。以下是删除据的示例代码: ```python # 执行DELETE语句删除据 cursor.execute("DELETE FROM your_table_name WHERE id=1") # 提交事务 connection.commit() ``` 这些是使用Python与Microsoft Access数据库进行交互的基本步骤,可以根据实际需求进行进一步的操作和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值