python連接access數(shù)據(jù)庫兩種方式總結(jié)
前言
記錄python中access兩種連接方式
一、sqlalchemy連接access
sqlalchemy-access方言版本連接access數(shù)據(jù)庫
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:#讀取數(shù)據(jù)庫 df_result = pd.read_sql_query(query,engine) with new_engine.connect() as con:#寫入新數(shù)據(jù)庫 df_result.to_sql(table_name, con, if_exists='replace', index=False)
二、pyodbc連接access
利用pyodbc模塊進(jìn)行連接
1.引入庫
代碼如下(示例):
pip install pyodbc
2.連接
代碼如下(示例):
import pyodbc import pandas as pd # 數(shù)據(jù)庫文件路徑 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 標(biāo)準(zhǔn)安全策略 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; # 獨(dú)占模式 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) 標(biāo)準(zhǔn)安全策略 Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;Password=; //使用數(shù)據(jù)庫密碼 如果您的Access數(shù)據(jù)庫設(shè)置了密碼,您就需要參照如下連接字符串將密碼寫入后才能夠正常使用。 Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:Database Password=MyDbPassword; # 工作組(系統(tǒng)數(shù)據(jù)庫) Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:System Database=system.mdw; # 工作組(系統(tǒng)數(shù)據(jù)庫)并且制定用戶名和密碼 Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:System Database=system.mdw;User ID=myUsername;Password=myPassword;
附:[數(shù)據(jù)庫連接字符串] Access 連接字符串
//ODBC 標(biāo)準(zhǔn)安全策略 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; //獨(dú)占模式 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) 標(biāo)準(zhǔn)安全策略 Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;Password=; //使用數(shù)據(jù)庫密碼 如果您的Access數(shù)據(jù)庫設(shè)置了密碼,您就需要參照如下連接字符串將密碼寫入后才能夠正常使用。 Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:Database Password=MyDbPassword; //工作組(系統(tǒng)數(shù)據(jù)庫) Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:System Database=system.mdw; //工作組(系統(tǒng)數(shù)據(jù)庫)并且制定用戶名和密碼 Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase
個(gè)人推薦pyodbc,簡單。
提示:這里對所經(jīng)歷的坑進(jìn)行記錄,方便查閱。
到此這篇關(guān)于python連接access數(shù)據(jù)庫兩種方式總結(jié)的文章就介紹到這了,更多相關(guān)python連接access數(shù)據(jù)庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)購物系統(tǒng)(示例講解)
下面小編就為大家?guī)硪黄狿ython實(shí)現(xiàn)購物系統(tǒng)(示例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09淺析Python與Mongodb數(shù)據(jù)庫之間的操作方法
這篇文章主要介紹了Python與Mongodb數(shù)據(jù)庫之間的操作,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07Python 基于win32com客戶端實(shí)現(xiàn)Excel操作的詳細(xì)過程
這篇文章主要介紹了Python 基于win32com客戶端實(shí)現(xiàn)Excel操作的詳細(xì)過程,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-05-05selenium+python 去除啟動(dòng)的黑色cmd窗口方法
今天小編就為大家分享一篇selenium+python 去除啟動(dòng)的黑色cmd窗口方法。具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05Python使用Altair創(chuàng)建交互式數(shù)據(jù)可視化的操作指南
Altair 是一個(gè)基于 Vega-Lite 的 Python 數(shù)據(jù)可視化庫,它旨在簡化數(shù)據(jù)可視化的創(chuàng)建過程,尤其適用于統(tǒng)計(jì)圖表的生成,Altair 強(qiáng)調(diào)聲明式編碼方式,通過簡單的語法,用戶能夠快速創(chuàng)建復(fù)雜的交互式圖表,本文將介紹 Altair 的基礎(chǔ)用法、常見圖表類型,需要的朋友可以參考下2024-12-12