python连接postgresql数据库及操作
    		       		warning:
    		            这篇文章距离上次修改已过425天,其中的内容可能已经有所变动。
    		        
        		                
                
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 query_data(cur):
    """
    执行查询操作
    :param cur: 游标对象
    :return: 查询结果
    """
    # 编写SQL查询语句
    sql_query = "SELECT * FROM your_table_name"
    # 使用游标执行查询
    cur.execute(sql_query)
    # 获取所有查询结果
    rows = cur.fetchall()
    return rows
 
# 插入操作
def insert_data(cur, data):
    """
    执行插入操作
    :param cur: 游标对象
    :param data: 要插入的数据
    :return: 插入结果
    """
    # 编写SQL插入语句
    sql_insert = "INSERT INTO your_table_name (column1, column2) VALUES (%s, %s)"
    # 使用游标执行插入
    cur.execute(sql_insert, data)
    # 提交事务
    return cur.rowcount
 
# 更新操作
def update_data(cur, data, condition):
    """
    执行更新操作
    :param cur: 游标对象
    :param data: 要更新的数据
    :param condition: 更新条件
    :return: 更新结果
    """
    # 编写SQL更新语句
    sql_update = "UPDATE your_table_name SET column1 = %s WHERE column2 = %s"
    # 使用游标执行更新
    cur.execute(sql_update, data, condition)
    # 提交事务
    return cur.rowcount
 
# 删除操作
def delete_data(cur, condition):
    """
    执行删除操作
    :param cur: 游标对象
    :param condition: 删除条件
    :return: 删除结果
    """
    # 编写SQL删除语句
    sql_delete = "DELETE FROM your_table_name WHERE column_name = %s"
    # 使用游标执行删除
    cur.execute(sql_delete, condition)
    # 提交事务
    return cur.rowcount
 
# 关闭数据库连接
def close_db_connection(conn, cur):
    """
    关闭数据库连接和游标
    :param conn: 数据库连接对象
    :param cur: 游标对象
    :return: None
    """
    # 关闭游标
    cur.close()
    # 关闭连接
    conn.close()
 
# 示例使用
if __name__ == "__main__":
    # 数据库连接参数
    dbname = "your_dbname"
    host = "your_host"
    port = "your_port"
    user = "your_user"
    password = "your_password"
    
    # 连接数据库
    conn, cur = connect_to_db(dbname, host, port, user, password)
    
    # 查询数据
    rows = query_data(cur)
    print(rows)
    
    #            
评论已关闭