当前位置: 代码网 > it编程>前端脚本>Python > python连接access数据库两种方式总结

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

2025年02月13日 Python 我要评论
前言记录python中access两种连接方式一、sqlalchemy连接accesssqlalchemy-access方言版本连接access数据库1.引入库代码如下(示例):pip install

前言

记录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数据库内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com