如何在Python中插入PostgreSQL数据库中的数据?

  • Post category:Python

以下是在Python中插入PostgreSQL数据库中的数据的完整使用攻略。

使用PostgreSQL数据库的前提条件

在使用Python连接PostgreSQL数据库之前,确保已经安装了PostgreSQL数据库,并已经创建使用数据库和表,还需要安装Python的驱动程序,例如psycopg2

步骤1:导入模块

在Python中使用psycopg2模块连接PostgreSQL数据库。以下是导入psycopg2模块的基本语法:

import psycopg2

步骤2:连接数据库

在Python中,可以使用`psycopg2模块连接PostgreSQL数据库。是连接PostgreSQL数据库的基本语法:

mydb = psycopg2.connect(
  host="localhost",
  user="username",
  password="password",
  database="database_name"
)

在上面的语法中,host是PostgreSQL服务器的主机名,user是PostgreSQL用户名,password是PostgreSQL密码,database_name是要连接的PostgreSQL数据库名。

步骤3:创建游标对象

在Python中,使用cursor()方法创建游标对象。以下是创建游标对象的基本语法:

mycursor = mydb.cursor()

在上面的语法中,mydb是连接到PostgreSQL数据库对象。

步骤4:执行语句

在Python中,使用游标对象执行语句。以下是执行SQL语句的基本语法:

mycursor.execute("SQL语句")

在上面的语法中,SQL语句是要执行的SQL语句。

步骤5:提交更改

在Python中,可以使用commit()方法提交更改。以下是提交更改的基本语法:

mydb.commit()

在上面的语法中,mydb是连接到PostgreSQL数据库对象。

步骤6:关闭连接

在Python中,可以使用close()方法关闭连接。以下是关闭连接的基本语法:

mydb.close()

在上面的语法中,mydb是连接到PostgreSQL数据库对象。

示例1

在这个示例中,我们使用Python连接到一个名为test的PostgreSQL数据库,并向名为customers的表中插入一条记录。

以下是Python代码:

import psycopg2

mydb = psycopg2.connect(
  host="localhost",
  user="username",
  password="password",
  database="test"
)

mycursor = mydb.cursor()

sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")

mycursor.execute(sql, val)

mydb.commit()

print(mycursor.rowcount, "record inserted.")

mydb.close()

在上面的代码中,我们首先使用psycopg2模块连接到PostgreSQL数据库。然后,使用cursor()方法创建游标对象。接下来,我们使用INSERT语句向customers表中插入一条记录。我们使用元组val指定要插入的记录。然后,我们使用execute()方法执行SQL语句。接下来,我们使用commit()方法提交更改,并使用rowcount属性获取插入的记录数。最后,我们使用close()方法关闭连接。

示例2

在这个示例中,我们将Python连接到一个名为test的PostgreSQL数据库,并向名为customers的表中插入多条记录。

以下是Python代码:

import psycopg2

mydb = psycopg2.connect(
  host="localhost",
  user="username",
  password="password",
  database="test"
)

mycursor = mydb.cursor()

sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = [
  ("Peter", "Lowstreet 4"),
  ("Amy", "Apple st 652"),
  ("Hannah", "Mountain 21"),
  ("Michael", "Valley 345"),
  ("Sandy", "Ocean blvd 2"),
  ("Betty", "Green Grass 1"),
  ("Richard", "Sky st 331"),
  ("Susan", "One way 98"),
  ("Vicky", "Yellow Garden 2"),
  ("Ben", "Park Lane 38"),
  ("William", "Central st 954"),
  ("Chuck", "Main Road 989"),
  ("Viola", "Sideway 1633")
]

mycursor.executemany(sql, val)

mydb.commit()

print(mycursor.rowcount, "records inserted.")

mydb.close()

在上面的代码中,我们首先使用psycopg2模块连接到PostgreSQL数据库。然后,使用cursor()方法创建游标对象。接下来,我们使用INSERT语句向customers表中插入多条记录。我们使用列表val指定要插入的记录。然后,我们使用executemany()方法执行SQL语句。接下来,我们使用commit()方法提交更改,并使用rowcount属性获取插入的记录数。最后,我们使用close()方法关闭连接。

以上是在Python中插入PostgreSQL数据库中的数据的完整使用攻略,包括导入模块、连接数据库、创建游标对象、执行SQL语句、提交更改、关闭等步骤。我们供了两个示例以便更好地理解如何在Python中插入PostgreSQL数据库中的数据。