Python操作达梦数据库

简介

达梦数据库是国产的关系型数据库管理系统,具有高性能、高可靠性和高稳定性的特点。在Python中,我们可以使用特定的库来连接和操作达梦数据库。

本文将介绍如何使用Python来连接达梦数据库,并进行一些常见的数据库操作,例如创建表、插入数据、查询数据等。我们将使用[pymssql](

准备工作

在开始之前,我们需要先安装pymssql库。可以使用pip命令来安装:

pip install pymssql

安装完成后,我们可以开始连接达梦数据库并进行操作。

连接数据库

首先,我们需要导入pymssql库,并使用数据库的连接信息来建立连接。连接信息包括主机名、端口号、用户名、密码和数据库名。

import pymssql

# 连接数据库
conn = pymssql.connect(host='localhost', port='5000', user='username', password='password', database='dbname')

以上代码中,我们使用pymssql.connect()函数来建立连接,传入连接信息作为参数。其中,host参数表示主机名,port参数表示端口号,user参数表示用户名,password参数表示密码,database参数表示数据库名。

创建表

在连接成功后,我们可以使用cursor()方法获取数据库游标,并使用游标执行SQL语句来创建表。

# 获取游标
cursor = conn.cursor()

# 创建表
sql = '''
CREATE TABLE students (
    id INT PRIMARY KEY,
    name VARCHAR(100),
    age INT
)
'''
cursor.execute(sql)

# 提交事务
conn.commit()

以上代码中,我们首先使用conn.cursor()方法获取游标,然后使用游标的execute()方法执行SQL语句来创建表。创建表的SQL语句包含表的字段和约束。

创建表后,我们需要调用conn.commit()方法提交事务,以使修改生效。

插入数据

在表创建成功后,我们可以使用execute()方法执行INSERT语句来插入数据。

# 插入数据
sql = '''
INSERT INTO students (id, name, age)
VALUES (1, 'Tom', 20)
'''
cursor.execute(sql)

# 提交事务
conn.commit()

以上代码中,我们使用INSERT INTO语句将数据插入到表中。插入数据的SQL语句中,需要指定要插入的字段和对应的值。

插入数据后,同样需要调用conn.commit()方法提交事务。

查询数据

在插入数据后,我们可以使用execute()方法执行SELECT语句来查询数据。

# 查询数据
sql = '''
SELECT * FROM students
'''
cursor.execute(sql)

# 获取查询结果
result = cursor.fetchall()

# 打印查询结果
for row in result:
    print(row)

以上代码中,我们使用SELECT语句来查询表中的数据。查询数据的SQL语句中,用*表示要查询的字段。

执行查询后,我们可以使用fetchall()方法获取查询结果。查询结果是一个包含所有记录的列表,每条记录是一个元组。

关闭连接

在完成对数据库的操作后,我们应该关闭数据库连接,以释放资源。

# 关闭连接
conn.close()

以上代码中,我们使用conn.close()方法来关闭数据库连接。

总结

本文介绍了如何使用Python来连接达梦数据库,并进行常见的数据库操作。通过pymssql库,我们可以轻松地连接和操作达梦数据库。在实际使用中,可以根据具体需求进行更复杂的数据库操作。

通过本文的介绍,希望读者对Python操作达梦数据库有了初步的了解。

附录:序列图

下面是一个示例的序列图,展示了连接达梦数据库的过程。

sequenceDiagram
    participant User
    participant Application
    participant Database

    User->>Application: 启动应用
    Application->>Database: 连接数据库
    Database->>Application: 连接成功
    Application->>User: 连接成功

    User->>Application: 执行操作
    Application->>Database: 执行SQL语