python 读写mdb
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: 开头的部分是为了设置一些高级选项,比如访问密码。 需要注意的是,为了安全起见,建议将密码存储在某个配置文件中,而不是明文写在代码中。