📜  使用 pypyodbc - Python (1)

📅  最后修改于: 2023-12-03 15:06:49.954000             🧑  作者: Mango

使用 pypyodbc - Python

pypyodbc 是 Python 中一个轻量级的模块,它允许你访问和操作 Microsoft Access 数据库以及许多其他 ODBC 兼容的数据源。它提供了一个简单的 API,让你可以像使用 Python 数据结构一样来操作数据库。

安装 pypyodbc

你可以使用 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)
执行 SQL 语句

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/。