📅  最后修改于: 2023-12-03 15:06:49.954000             🧑  作者: Mango
pypyodbc 是 Python 中一个轻量级的模块,它允许你访问和操作 Microsoft Access 数据库以及许多其他 ODBC 兼容的数据源。它提供了一个简单的 API,让你可以像使用 Python 数据结构一样来操作数据库。
你可以使用 pip 来安装 pypyodbc 模块:
pip install pypyodbc
在使用 pypyodbc 模块之前,你需要先连接到你的数据库。你可以使用 pypyodbc.connect()
方法来连接数据库。该方法的参数需要指定数据库的详细信息,例如数据库的位置、数据库名称、用户名和密码等。
下面是连接 Microsoft Access 数据库的示例:
import pypyodbc
# 连接数据库
db_path = r"C:\path\to\database.accdb"
conn_str = f"Driver={{Microsoft Access Driver (*.mdb, *.accdb)}};Dbq={db_path};"
conn = pypyodbc.connect(conn_str)
# 使用查询获取数据
cursor = conn.cursor()
cursor.execute("SELECT * FROM my_table")
rows = cursor.fetchall()
# 打印数据
for row in rows:
print(row)
pypyodbc 允许你在 Python 中执行 SQL 语句,从而可以对数据库进行增、删、改和查等操作。你可以使用 cursor.execute()
方法来执行 SQL 语句。下面是一个简单的示例,展示如何创建一个新表:
import pypyodbc
# 连接数据库
db_path = r"C:\path\to\database.accdb"
conn_str = f"Driver={{Microsoft Access Driver (*.mdb, *.accdb)}};Dbq={db_path};"
conn = pypyodbc.connect(conn_str)
# 执行 SQL 语句
cursor = conn.cursor()
cursor.execute("CREATE TABLE my_table (id INT, name TEXT)")
# 提交事务
conn.commit()
pypyodbc 支持参数化查询,可以防止 SQL 注入攻击。参数化查询可以通过使用问号占位符来实现。下面是一个示例:
import pypyodbc
# 连接数据库
db_path = r"C:\path\to\database.accdb"
conn_str = f"Driver={{Microsoft Access Driver (*.mdb, *.accdb)}};Dbq={db_path};"
conn = pypyodbc.connect(conn_str)
# 执行参数化查询
cursor = conn.cursor()
cursor.execute("SELECT * FROM my_table WHERE id=?", (1,))
row = cursor.fetchone()
# 打印结果
print(row)
使用完 pypyodbc 模块后,你需要关闭数据库连接。你可以使用 conn.close()
方法来关闭连接。下面是一个示例:
import pypyodbc
# 连接数据库
db_path = r"C:\path\to\database.accdb"
conn_str = f"Driver={{Microsoft Access Driver (*.mdb, *.accdb)}};Dbq={db_path};"
conn = pypyodbc.connect(conn_str)
# 执行查询操作
cursor = conn.cursor()
cursor.execute("SELECT * FROM my_table")
rows = cursor.fetchall()
# 关闭连接
conn.close()
以上是使用 pypyodbc 模块的一些基础知识。如果你想了解更多关于 pypyodbc 的内容,可以参考官方文档:https://pypyodbc.readthedocs.io/en/latest/。