Python 操作 PostgreSQL 数据库示例【连接、增删改查

1. 连接到 PostgreSQL 数据库

首先,我们需要安装 psycopg2 模块,它是 Python 与 PostgreSQL 数据库交互的常用工具。

pip install psycopg2

接下来,我们可以通过以下代码连接到 PostgreSQL 数据库,并获取一个数据库连接对象:

import psycopg2

# 定义数据库连接参数

conn_params = {

"host": "localhost",

"port": "5432",

"database": "mydatabase",

"user": "myuser",

"password": "mypassword"

}

# 连接数据库

conn = psycopg2.connect(**conn_params)

2. 创建表

下一步,我们可以使用 SQL 语句在数据库中创建表。假设我们要创建一个名为 "students" 的表,包含 "id" (主键)、"name" 和 "age" 字段。

# 创建表

with conn.cursor() as cursor:

cursor.execute(

'''

CREATE TABLE students (

id SERIAL PRIMARY KEY,

name VARCHAR(255) NOT NULL,

age INT

);

'''

)

conn.commit()

3. 插入数据

现在,我们可以向表中插入一些数据了。下面的示例代码演示了如何插入一条学生记录。

# 插入数据

with conn.cursor() as cursor:

cursor.execute(

'''

INSERT INTO students (name, age) VALUES ('Alice', 20);

'''

)

conn.commit()

可以重复执行上述代码,以插入多条学生记录。

4. 查询数据

接下来,我们可以使用 SQL 语句从表中查询数据。下面的代码演示了如何查询所有学生的姓名和年龄。

# 查询数据

with conn.cursor() as cursor:

cursor.execute(

'''

SELECT name, age FROM students;

'''

)

rows = cursor.fetchall()

# 打印查询结果

for row in rows:

print(f"Name: {row[0]}, Age: {row[1]}")

5. 更新数据

有时候我们需要更新表中的数据。以下代码示例演示了如何更新学生的年龄。

# 更新数据

with conn.cursor() as cursor:

cursor.execute(

'''

UPDATE students SET age = 21 WHERE name = 'Alice';

'''

)

conn.commit()

同样地,可以根据需要多次执行更新操作。

6. 删除数据

最后,我们可以使用 SQL 语句删除表中的数据。以下代码示例演示了如何删除名为 "Alice" 的学生记录。

# 删除数据

with conn.cursor() as cursor:

cursor.execute(

'''

DELETE FROM students WHERE name = 'Alice';

'''

)

conn.commit()

根据需要可以多次执行删除操作。

7. 关闭数据库连接

完成所有数据库操作后,我们应该关闭数据库连接。

# 关闭数据库连接

conn.close()

总结:

在本文中,我们介绍了如何在 Python 中操作 PostgreSQL 数据库。首先,我们通过安装 psycopg2 模块建立了数据库连接。然后,我们使用 SQL 语句创建了一个学生表,并插入了一些数据。接着,我们演示了如何查询、更新和删除数据。最后,我们关闭了数据库连接。

通过本文的示例代码,你已经学会了如何使用 Python 操作 PostgreSQL 数据库。这些技巧对于开发任何使用 PostgreSQL 数据库的应用程序都非常有用。祝你在使用 PostgreSQL 数据库时取得成功!

后端开发标签