Python办公自动化之PostgreSQL篇2——利用Python连接PostgreSQL并读取一张表
import psycopg2
# 连接PostgreSQL数据库
def connect_to_db(dbname, host, port, user, password):
"""
连接到PostgreSQL数据库
:param dbname: 数据库名
:param host: 数据库主机地址
:param port: 端口
:param user: 用户名
:param password: 密码
:return: 数据库连接对象和游标
"""
# 使用psycopg2连接数据库
conn = psycopg2.connect(
dbname=dbname,
host=host,
port=port,
user=user,
password=password
)
# 创建游标对象
cur = conn.cursor()
return conn, cur
# 读取表中的数据
def read_table(conn, cur, query):
"""
读取表中的数据
:param conn: 数据库连接对象
:param cur: 游标对象
:param query: SQL查询语句
:return: 查询结果
"""
# 执行SQL查询
cur.execute(query)
# 获取所有结果
rows = cur.fetchall()
return rows
# 关闭数据库连接
def close_db_connection(conn, cur):
"""
关闭数据库连接
:param conn: 数据库连接对象
:param cur: 游标对象
"""
# 关闭游标
cur.close()
# 关闭连接
conn.close()
# 示例使用
if __name__ == "__main__":
# 数据库连接参数
dbname = "your_dbname"
host = "your_host"
port = "your_port"
user = "your_user"
password = "your_password"
# SQL查询语句
query = "SELECT * FROM your_table_name"
# 连接数据库
conn, cur = connect_to_db(dbname, host, port, user, password)
# 读取表数据
rows = read_table(conn, cur, query)
# 打印结果
for row in rows:
print(row)
# 关闭数据库连接
close_db_connection(conn, cur)
在这个代码示例中,我们首先定义了连接PostgreSQL数据库的函数connect_to_db
,它接收数据库的连接参数并返回数据库连接对象和游标。然后定义了read_table
函数,它接收连接对象、游标和查询语句,执行查询并返回结果。最后,在if __name__ == "__main__":
块中,我们展示了如何使用这些函数连接到数据库、读取表格数据并最后关闭数据库连接。这个示例提供了一个简洁的方法来连接和查询PostgreSQL数据库。
评论已关闭