首页 > 编程语言 >python 读写mdb

python 读写mdb

时间:2023-04-29 17:13:55浏览次数:95  
标签:python 读写 连接 Access mdb pyodbc your conn

Python中可以使用pyodbc模块连接Microsoft Access数据库(.mdb格式)。
首先需要先安装pyodbc模块和Microsoft Access驱动程序,可以使用pip安装pyodbc:
```
pip install pyodbc
```
然后需要下载安装Microsoft Access驱动程序,下载链接:https://www.microsoft.com/zh-cn/download/details.aspx?id=13255
安装完成后,就可以使用以下代码连接和读写mdb数据库:
```
import pyodbc
# 连接数据库
conn_str = (
    r"DRIVER={Microsoft Access Driver (*.mdb)};"
    r"DBQ=C:\path\to\your\database.mdb;"
)
conn = pyodbc.connect(conn_str)
# 读取数据
cursor = conn.cursor()
cursor.execute("SELECT * FROM your_table")
rows = cursor.fetchall()
for row in rows:
    print(row)
# 插入数据
cursor.execute("INSERT INTO your_table (column1, column2) VALUES (?, ?)", 
               ("value1", "value2"))
conn.commit()

# 关闭连接
conn.close()
```
以上代码中,`conn_str`是连接字符串,需要根据自己的数据库文件路径和驱动程序名称进行修改。`cursor`是游标对象,用于执行SQL语句和获取查询结果。`execute()`方法用于执行SQL语句,第一个参数是SQL语句字符串,如果有占位符,可以在第二个参数中传入占位符对应的值。`fetchall()`方法用于获取查询结果中所有行数据。

需要注意的是,读取和写入数据的操作都需要使用`commit()`方法提交事务,否则修改将不会生效。在操作结束后,需要调用`close()`方法关闭数据库连接。

Python pyodbc模块可以使用连接字符串(Connection String)来连接带密码的Microsoft Access数据库(.mdb格式)。

以下是可以连接带密码的Access数据库的连接字符串示例:

```
conn_str = (
    r"DRIVER={{Microsoft Access Driver (*.mdb, *.accdb)}};"
    r"DBQ=C:\path\to\your\database.mdb;"
    r"PWD=your_password;"
)
conn = pyodbc.connect(conn_str)
```

连接字符串中,加上数据库密码(PWD)的语法是,在连接字符串的最后加上";PWD=your_password;",其中的"your_password"是你的数据库密码。注意,连接字符串中的花括号({})是必需的,用于将大括号之间的字符串解释为一个通用数据命名空间(Guid Namespace),以避免连接字符串语法错误。

在连接字符串中,也可以加上其他可选的参数,如:

- UID:用于指定用户名;
- Exclusive:用于指定是否独占访问该数据库;
- Jet OLEDB:用于指定一些高级选项,如文件锁定等。

例如,以下是一个连接字符串示例,包括了所有可选参数:

```
conn_str = (
    r"DRIVER={{Microsoft Access Driver (*.mdb, *.accdb)}};"
    r"DBQ=C:\path\to\your\database.mdb;"
    r"UID=your_username;"
    r"PWD=your_password;"
    r"Exclusive=1;"
    r"Jet OLEDB:Database Password=database_password;"
)
```

其中,Jet OLEDB: 开头的部分是为了设置一些高级选项,比如访问密码。

需要注意的是,为了安全起见,建议将密码存储在某个配置文件中,而不是明文写在代码中。

 

标签:python,读写,连接,Access,mdb,pyodbc,your,conn
From: https://www.cnblogs.com/xkdn/p/17364230.html

相关文章

  • Python之路【第十五篇】:Web框架
    原笔记链接:https://www.cnblogs.com/wupeiqi/p/4592637.html1.Web框架本质众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端。#!/usr/bin/envpython#coding:utf-8importsocketdefhandle_request(client):......
  • python 读写sqlite3 读写内存中的数据库
    Python中,可以使用标准库sqlite3来读写SQLite数据库。下面是一个示例代码,展示如何连接到SQLite数据库,创建表格,插入数据,查询数据和关闭数据库:importsqlite3#连接到数据库conn=sqlite3.connect('example.db')#创建一个表格conn.execute('''CREATETABLEIFNOTE......
  • 136python可视化图
    灵感:来自朋友让我帮它弄可视化图,持续更新,后期可直接套用EXCEL文件CSV文件例子1csv布局效果:代码如下:#@author:zhc#@Time:2023/4/29#@FileName:demo2importpandasaspdclassBar_429:defstart(self):self.__testA_wy()self.__te......
  • 基于python实现将AWS-ElastiCache-的Reserved_Cache_Nodes-预留节点及费用的信息统计
    在AWS-ElastiCache中,Reserved_Cache_Nodes-预留节点,也就类似于EC2与RDS的RI(预留实例),都是为了节省成本而选择预付费用的一种方式,当AWS账号有多个时,如何通过编程的方式批量获取所有账号所有区域Region的RN信息呢我们可以通过awscli的方式,也可以通过AWSSDKforPython(Boto3)的......
  • Python 基于win32com客户端实现Excel操作
    测试环境Python3.6.2代码实现非多线程场景下使用新建并保存EXCELimportwin32com.clientfromwin32apiimportRGBdefsave_something_to_excel(result_file_path):excel_app=win32com.client.Dispatch('Excel.Application')excel_app.Visible=False#设......
  • python高阶用法汇总——(1)高阶函数
    lambda1defsum(a,b):2returna+b3print(sum(1,5))45lab=lambdaa,b:a+b6print(lab(1,3))1-3行正常用法,5-6lambda用法。lambda:冒号之前的全是参数,即函数括号里面的 sum(a,b)冒号之后的是表达式,即return的结果。lambda只能写在一行。一般情况下,我们不使用......
  • 【python基础】创建和删除目录
    前言importosimportshutilpath='/home/tfl19671/out'ifnotos.path.exists(path):os.mkdir(path)else:shutil.rmtree(path,True)os.mkdir(path)其中shutil.rmtree(filepath,ignore_errors=True)删除整个filepath路径的内容。如果ignore_errors=True,则表示删除......
  • Python数据类型详解
    Python最基本的内置数据类型包括:布尔型(表示真假的类型,仅包含True和False两种取值);整型(整数,例如42、10000000);浮点型(小数,例如3.14159,或用科学计数法表示的数字,例如1.0e8,它表示1乘以10的8次方,也可写作10000000.0);字符串型(字符组成的序列);一、变量Python里所有数据——布尔值、整数、浮点......
  • Windows安装Python3
    1、Python安装Python是跨平台的编程语言,它可以运行在windowS、Mac和各种Linux/Unix系统上。也就是说,假设在windows系统下编写的Python程序,在Mac或Linux系统下也是可以运行的。目前,Python的版本主要分为两大类,即Python3.X版和Python2.x版,这两个版本是不兼容的。由于Python3.x......
  • Python自动化办公——Selenium控制浏览器
    Python之selenium创建多个标签页码夫破石2022-11-04原文最近在做一个项目,需要用到cookies登录,想法是,在同一个浏览器下,打开两个标签页进行。让其自动获取cookies,先记录,不行的话,到时候再手动加载cookies。1'''2#selenium加载新标签页3'''4#导入所需库5fromseleniumi......