python连接access数据库两种方式总结

 更新时间:2025年02月06日 11:51:11   作者:sevenlusir  
这篇文章主要介绍了python连接access数据库两种方式的相关资料,SQLAlchemy使用access方言进行连接,而pyodbc则通过pyodbc模块实现连接,文章还提供了连接代码示例,需要的朋友可以参考下

前言

记录python中access两种连接方式

一、sqlalchemy连接access

sqlalchemy-access方言版本连接access数据库

1.引入库

代码如下(示例):

pip install sqlalchemy-access

2.连接

代码如下(示例):

import urllib
from sqlalchemy import create_engine
connection_string = (
        r"DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};"
        f"DBQ={db_path};"
        r"ExtendedAnsiSQL=1;"
    )
connection_uri = f"access+pyodbc:///?odbc_connect={urllib.parse.quote_plus(connection_string)}"
engine = create_engine(connection_uri)
query = """
            SELECT *
            FROM 表名
            WHERE 字段 LIKE 'info';
            """
with engine.connect() as connection:#读取数据库
	df_result = pd.read_sql_query(query,engine)

with new_engine.connect() as con:#写入新数据库
	df_result.to_sql(table_name, con, if_exists='replace', index=False)

二、pyodbc连接access

利用pyodbc模块进行连接

1.引入库

代码如下(示例):

pip install pyodbc

2.连接

代码如下(示例):

import pyodbc
import pandas as pd

# 数据库文件路径
db_file_path = r'your/mdb/file/path.mdb'
# 使用pyodbc建立连接
conn = pyodbc.connect(rf'Driver={{Microsoft Access Driver (*.mdb, *.accdb)}};DBQ={db_file_path};')
query = """
            SELECT *
            FROM 表名
            WHERE 字段 LIKE 'info';
            """
# 使用pandas 读取
df = pd.read_sql_query(query, conn)

三、Access 连接字符串(参考)

# ODBC   标准安全策略    
Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;Uid=Admin;Pwd=;

# 工作组    
Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;SystemDB=C:\mydatabase.mdw;

# 独占模式    
Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;Exclusive=1;Uid=admin;Pwd=;

# 管理员模式 如果您需要在程序中使用 CREATE USER, CREATE GROUP, ADD USER, GRANT, REVOKE 和DEFAULTS等命令,您就需要使用此连接字符串。  
Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;Uid=Admin;Pwd=;ExtendedAnsiSQL=1;

# OLE DB, OleDbConnection (.NET)   标准安全策略    
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;Password=;

//使用数据库密码 如果您的Access数据库设置了密码,您就需要参照如下连接字符串将密码写入后才能够正常使用。  
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:Database Password=MyDbPassword;

# 工作组(系统数据库)    
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:System Database=system.mdw;

# 工作组(系统数据库)并且制定用户名和密码    
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:System Database=system.mdw;User ID=myUsername;Password=myPassword;

附:[数据库连接字符串] Access 连接字符串

//ODBC   标准安全策略    
Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;Uid=Admin;Pwd=;

//工作组    
Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;SystemDB=C:\mydatabase.mdw;

//独占模式    
Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;Exclusive=1;Uid=admin;Pwd=;

//管理员模式 如果您需要在程序中使用 CREATE USER, CREATE GROUP, ADD USER, GRANT, REVOKE 和DEFAULTS等命令,您就需要使用此连接字符串。  
Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;Uid=Admin;Pwd=;ExtendedAnsiSQL=1;

//OLE DB, OleDbConnection (.NET)   标准安全策略    
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;Password=;

//使用数据库密码 如果您的Access数据库设置了密码,您就需要参照如下连接字符串将密码写入后才能够正常使用。  
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:Database Password=MyDbPassword;

//工作组(系统数据库)    
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:System Database=system.mdw;

//工作组(系统数据库)并且制定用户名和密码    
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase

个人推荐pyodbc,简单。

提示:这里对所经历的坑进行记录,方便查阅。

到此这篇关于python连接access数据库两种方式总结的文章就介绍到这了,更多相关python连接access数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python模拟表单提交登录图书馆

    python模拟表单提交登录图书馆

    这篇文章主要为大家详细介绍了python模拟表单提交登录图书馆的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • 关于pyqtSignal的基本使用

    关于pyqtSignal的基本使用

    这篇文章主要介绍了关于pyqtSignal的基本使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • Python实现购物系统(示例讲解)

    Python实现购物系统(示例讲解)

    下面小编就为大家带来一篇Python实现购物系统(示例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • python 中raise用法

    python 中raise用法

    这篇文章主要介绍了python 中raise用法,Python 允许我们在程序中手动设置异常,就是使用raise 语句来实现,下面我们就来看看raise的具体用法,文章内容介绍详细,具有一定的参考价值,需要的小伙伴可以参考一下
    2021-12-12
  • 浅析Python与Mongodb数据库之间的操作方法

    浅析Python与Mongodb数据库之间的操作方法

    这篇文章主要介绍了Python与Mongodb数据库之间的操作,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • Python命令行解析工具argparse模块

    Python命令行解析工具argparse模块

    这篇文章主要介绍了Python命令行解析工具argparse模块,argparse模块是一个python标准库,它主要用于对用户从客户端输入的命令进行解析,这使得编写用户友好的命令行接口变得非常容易,需要的朋友可以参考下
    2023-05-05
  • Python 基于win32com客户端实现Excel操作的详细过程

    Python 基于win32com客户端实现Excel操作的详细过程

    这篇文章主要介绍了Python 基于win32com客户端实现Excel操作的详细过程,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • 基于python的七种经典排序算法(推荐)

    基于python的七种经典排序算法(推荐)

    本篇文章主要介绍基于python的七种经典排序算法(推荐),具有一定的参考价值,这里整理了详细的代码,有需要的小伙伴可以参考下。
    2016-12-12
  • selenium+python 去除启动的黑色cmd窗口方法

    selenium+python 去除启动的黑色cmd窗口方法

    今天小编就为大家分享一篇selenium+python 去除启动的黑色cmd窗口方法。具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Python使用Altair创建交互式数据可视化的操作指南

    Python使用Altair创建交互式数据可视化的操作指南

    Altair 是一个基于 Vega-Lite 的 Python 数据可视化库,它旨在简化数据可视化的创建过程,尤其适用于统计图表的生成,Altair 强调声明式编码方式,通过简单的语法,用户能够快速创建复杂的交互式图表,本文将介绍 Altair 的基础用法、常见图表类型,需要的朋友可以参考下
    2024-12-12

最新评论