在 Python 中连接达梦数据库(DM Database),可以使用官方提供的 dmPython
库。dmPython
是达梦数据库的 Python 客户端,类似于 MySQL 的 pymysql
或者 PostgreSQL 的 psycopg2
。以下是安装、连接、以及增删改查的基本步骤。
1. 安装 dmPython 库
使用 pip
安装 dmPython
:
pip install dmpython
2. 连接达梦数据库
import dmPython
# 连接达梦数据库
def connect_db():
try:
# 创建连接
conn = dmPython.connect(
user='your_username',
password='your_password',
server='your_host',
port=5236, # 默认端口号为 5236
schema='your_schema' # 可选,指定默认 schema
)
print("连接成功")
return conn
except Exception as e:
print(f"连接失败: {e}")
return None
3. 查询数据(SELECT)
def fetch_data():
conn = connect_db()
if not conn:
return
try:
cursor = conn.cursor()
query = "SELECT * FROM your_table_name"
cursor.execute(query)
# 获取所有结果
results = cursor.fetchall()
# 打印结果
for row in results:
print(row)
cursor.close()
except Exception as e:
print(f"查询失败: {e}")
finally:
conn.close()
4. 插入数据(INSERT)
def insert_data(name, age):
conn = connect_db()
if not conn:
return
try:
cursor = conn.cursor()
query = "INSERT INTO your_table_name (name, age) VALUES (?, ?)"
cursor.execute(query, (name, age))
# 提交事务
conn.commit()
print("插入成功")
cursor.close()
except Exception as e:
print(f"插入失败: {e}")
conn.rollback()
finally:
conn.close()
5. 更新数据(UPDATE)
def update_data(name, new_age):
conn = connect_db()
if not conn:
return
try:
cursor = conn.cursor()
query = "UPDATE your_table_name SET age = ? WHERE name = ?"
cursor.execute(query, (new_age, name))
# 提交事务
conn.commit()
print("更新成功")
cursor.close()
except Exception as e:
print(f"更新失败: {e}")
conn.rollback()
finally:
conn.close()
6. 删除数据(DELETE)
def delete_data(name):
conn = connect_db()
if not conn:
return
try:
cursor = conn.cursor()
query = "DELETE FROM your_table_name WHERE name = ?"
cursor.execute(query, (name,))
# 提交事务
conn.commit()
print("删除成功")
cursor.close()
except Exception as e:
print(f"删除失败: {e}")
conn.rollback()
finally:
conn.close()
7. 主函数调用
if __name__ == "__main__":
# 查询数据
fetch_data()
# 插入数据
insert_data("Alice", 30)
# 更新数据
update_data("Alice", 35)
# 删除数据
delete_data("Alice")
注意事项
- 驱动下载:请确保安装了正确版本的达梦数据库客户端(包含
dmPython
驱动)。 - 编码问题:达梦数据库默认字符集可能是
UTF-8
,确保 Python 环境字符集设置为UTF-8
。 - 端口配置:默认端口为
5236
,但具体端口号需根据实际安装情况确认。 - 事务控制:达梦数据库的默认事务是自动提交关闭的,因此执行 DML 语句后需要手动
commit()
。
参考资料
- 达梦数据库官方文档
dmPython
的官方 GitHub 仓库
这样,我们就可以通过 Python 连接达梦数据库并进行基本的增删改查操作了。