📜  PostgreSQL完全连接(1)

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

PostgreSQL完全连接

PostgreSQL是一种开源的对象-关系型数据库管理系统,它的可靠性、稳定性和扩展性使其成为一个流行的开源数据库之一。在这篇文章中,我们将讨论如何完全连接到PostgreSQL数据库并进行CRUD操作。

连接到PostgreSQL

要连接到PostgreSQL数据库,我们需要使用一个称为psycopg2的Python模块。Psycopg是Python与PostgreSQL数据库之间的连接器,它是使用Python连接PostgreSQL数据库的标准技术之一。

首先,我们需要安装psycopg2模块:

pip install psycopg2

接下来,我们需要使用以下代码与数据库建立连接:

import psycopg2

conn = psycopg2.connect(
    host="localhost",
    database="mydatabase",
    user="myusername",
    password="mypassword"
)

cur = conn.cursor()

# 执行某些查询和/或操作

cur.close()
conn.close()

在这里,我们首先导入psycopg2模块,然后使用connect()方法与数据库建立连接。必须传递以下参数:

  • host - 数据库主机名或IP地址。
  • database - 要连接的数据库名称。
  • user - 数据库用户名。
  • password - 数据库用户的密码。

在此之后,我们会得到一个指向数据库的连接对象,该对象用于执行SQL查询和操作。我们还创建了一个游标对象cur来执行查询并处理结果。最后,我们需要关闭游标和连接。

查询数据库

使用psycopg2执行查询非常简单。例如,我们可以使用以下代码检索所有选手的名字和国籍:

import psycopg2

conn = psycopg2.connect(
    host="localhost",
    database="mydatabase",
    user="myusername",
    password="mypassword"
)

cur = conn.cursor()

cur.execute("SELECT name, country FROM players")
rows = cur.fetchall()

for row in rows:
    print(row[0], row[1])

cur.close()
conn.close()

在这里,我们首先建立了连接和游标,然后使用execute()方法执行SQL查询。执行SQL查询后,我们使用fetchall()方法检索所有行。在检索行之后,我们使用for循环遍历所有行,并打印出每个选手的姓名和国籍。最后,我们关闭了游标和连接。

插入数据

要向PostgreSQL数据库中的表中插入数据,我们需要使用以下代码:

import psycopg2

conn = psycopg2.connect(
    host="localhost",
    database="mydatabase",
    user="myusername",
    password="mypassword"
)

cur = conn.cursor()

cur.execute("INSERT INTO players (name, country) VALUES (%s, %s)", ("John Doe", "USA"))

conn.commit()

cur.close()
conn.close()

在这里,我们首先建立了连接和游标,然后使用execute()方法将数据插入到名为“players”的表中。我们可以将数据传递为元组,也可以使用字典代替元组。

在插入数据后,我们使用commit()方法将更改保存到数据库中。最后,我们关闭了游标和连接。

更新数据

要更新PostgreSQL数据库中的表中的数据,我们需要使用以下代码:

import psycopg2

conn = psycopg2.connect(
    host="localhost",
    database="mydatabase",
    user="myusername",
    password="mypassword"
)

cur = conn.cursor()

cur.execute("UPDATE players SET name = %s WHERE id = %s", ("Jane Doe", 1))

conn.commit()

cur.close()
conn.close()

在这里,我们首先建立了连接和游标,然后使用execute()方法更新名为“players”的表中的数据。我们可以将数据传递为元组。

在更新数据之后,我们使用commit()方法将更改保存到数据库中。最后,我们关闭了游标和连接。

删除数据

要从PostgreSQL数据库中的表中删除数据,我们需要使用以下代码:

import psycopg2

conn = psycopg2.connect(
    host="localhost",
    database="mydatabase",
    user="myusername",
    password="mypassword"
)

cur = conn.cursor()

cur.execute("DELETE FROM players WHERE id = %s", (1,))

conn.commit()

cur.close()
conn.close()

在这里,我们首先建立了连接和游标,然后使用execute()方法从名为“players”的表中删除数据。我们可以将数据传递为元组。

在删除数据之后,我们使用commit()方法将更改保存到数据库中。最后,我们关闭了游标和连接。

结论

在这篇文章中,我们学习了如何使用Python完全连接到PostgreSQL数据库,并执行各种CRUD操作。psycopg2是一个强大的Python模块,可用于管理PostgreSQL数据库。通过学习这些示例代码,您可以开始构建自己的应用程序,使用PostgreSQL作为后端数据库。