dmPython 模块安装使用方法
什么是 dmPython
?
dmPython
是达梦数据库(DM Database)官方提供的 Python 接口模块,使开发者能够在 Python 应用程序中连接和操作达梦数据库。它遵循 Python 数据库 API 规范(PEP 249),提供了一组易用且高效的数据库操作方法。
开发环境
python 3.12
dmPython 2.5.5
安装 dmPython
可以使用 pip 工具安装 dmPython
模块:
命令行安装(适用所有平台)
pip install dmPython
pip3 install dmPython
连接到达梦数据库
连接到达梦数据库的基本步骤如下:
import dmPython
# 连接到达梦数据库
conn = dmPython.connect(
user='your_username',
password='your_password',
server='your_server_address',
port=5236,
#database='your_database_name'
)
# 创建游标
cursor = conn.cursor()
# 执行 SQL 查询
cursor.execute("SELECT * FROM your_table_name")
# 获取查询结果
rows = cursor.fetchall()
for row in rows:
print(row)
# 关闭游标和连接
cursor.close()
conn.close()
测试代码
在上述代码中,我们首先需要导入 dmPython
模块,然后使用 connect
方法连接到达梦数据库。连接参数包括数据库用户名、密码、服务器地址、端口和数据库名称。
常用方法和属性
dmPython
提供了一些常用的方法和属性,帮助开发者进行数据库操作:
连接相关方法:
connect()
: 连接到达梦数据库,返回一个连接对象。
连接对象的方法和属性:
cursor()
: 创建并返回一个新的游标对象。commit()
: 提交当前事务。rollback()
: 回滚当前事务。close()
: 关闭数据库连接。
游标对象的方法和属性:
execute(sql, params=None)
: 执行一条 SQL 语句,可选参数用于绑定变量。executemany(sql, seq_of_params)
: 执行批量 SQL 语句。fetchone()
: 获取查询结果的下一行。fetchmany(size)
: 获取查询结果的多行。fetchall()
: 获取查询结果的所有行。close()
: 关闭游标。description
: 获取当前查询结果的列描述。
增删改查操作都可以在execute()中执行
错误处理
在进行数据库操作时,错误处理是非常重要的。你可以使用 try-except
结构来捕获和处理可能发生的异常:
try:
conn = dmPython.connect(
user='your_username',
password='your_password',
server='your_server_address',
port=5236,
)
cursor = conn.cursor()
cursor.execute("SELECT * FROM your_table_name")
rows = cursor.fetchall()
for row in rows:
print(row)
except dmPython.Error as e:
print(f"Error: {e}")
finally:
cursor.close()
conn.close()
测试结果
高级用法
除了基本的数据库操作,dmPython
还支持更多高级功能,例如事务管理、批量操作和上下文管理器等。
事务管理:
# 提交事务
conn.commit()
# 回滚事务
conn.rollback()
批量操作:
sql = "INSERT INTO your_table_name (column1, column2) VALUES (?, ?)"
data = [(value1, value2), (value3, value4), ...]
cursor.executemany(sql, data)
上下文管理器:
with dmPython.connect(
user='your_username',
password='your_password',
server='your_server_address',
port=5236,
) as conn:
with conn.cursor() as cursor:
cursor.execute("SELECT * FROM your_table_name")
rows = cursor.fetchall()
for row in rows:
print(row)
总结
dmPython
模块为 Python 开发者提供了一个简洁、高效的接口来连接和操作达梦数据库。无论是基本的 SQL 操作、事务管理还是批量数据处理,dmPython
都能够满足开发需求。
详细信息和使用指南,可以参考达梦数据库的官方文档《DM8_dmPython使用手册》