python 连接access数据库两种方式

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

access数据库连接方式

  • 前言
  • 一、sqlalchemy连接access
  • 1.引入库
  • 2.连接
  • 二、pyodbc连接access
  • 1.引入库
  • 2.连接
  • 三、Access 连接字符串(参考)
  • 总结

  • 前言

    记录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 连接字符串

    个人推荐pyodbc,简单。
    提示:这里对所经历的坑进行记录,方便查阅。

    作者:sevenlusir

    物联沃分享整理
    物联沃-IOTWORD物联网 » python 连接access数据库两种方式

    发表回复