📜  Python PostgreSQL-更新表(1)

📅  最后修改于: 2023-12-03 15:18:58.485000             🧑  作者: Mango

Python PostgreSQL-更新表

在使用Python操作PostgreSQL时,我们有时需要更新一个表格的数据。这时候,我们可以使用UPDATE语句来完成。在本文中,我们将介绍如何使用Python更新PostgreSQL表。

连接数据库

在更新数据之前,我们需要先与数据库建立连接。可以使用psycopg2模块来完成连接。

import psycopg2

# 建立连接
conn = psycopg2.connect(
    host="localhost",
    database="mydatabase",
    user="myusername",
    password="mypassword"
)
更新表

接下来,我们使用UPDATE语句来更新表格数据。例如,下面的代码将把employees表中last_nameSmith的记录的salary字段更新为50000

cur = conn.cursor()

cur.execute("""
    UPDATE employees
    SET salary = 50000
    WHERE last_name = 'Smith'
""")

# 提交更改
conn.commit()

cur.close()
conn.close()

在代码中,首先创建了一个游标对象。游标对象用来执行SQL语句,并返回结果。接下来,我们使用cur.execute()方法执行了一个更新语句。在更新语句中,SET关键字用来指定要更新的字段和新值。WHERE关键字用来指定要更新哪些记录。

注意,在执行更新语句后需要调用commit()方法提交更改。

传递参数

如果我们要更新的字段需要根据程序中的变量来传递,那么我们可以使用参数化查询来完成。例如,下面的代码将根据输入的last_namesalary值更新employees表中相应记录的salary字段。

last_name = 'Smith'
salary = 50000

cur = conn.cursor()

cur.execute("""
    UPDATE employees
    SET salary = %s
    WHERE last_name = %s
""", (salary, last_name))

conn.commit()

cur.close()
conn.close()

在参数化查询中,我们使用%s占位符来指定参数的位置。然后,在执行语句时,我们传递了一个元组,用来替换占位符。

结论

在本文中,我们介绍了如何使用Python连接到PostgreSQL数据库,以及如何使用UPDATE语句更新表格数据。我们还介绍了如何使用参数化查询来传递参数。通过掌握这些内容,您可以在Python中轻松地更新PostgreSQL表格数据。