[Python] Nachdem postgresql Daten eingefügt hat, senden conn und Cursor Probleme und schließen Probleme

[Python] Nachdem postgresql Daten eingefügt hat, senden conn und Cursor Probleme und schließen Probleme

Wenn Sie psycopg2 verwenden, um Daten in die Datenbank einzufügen, müssen Sie zuerst ein Cursor-Objekt conn.cursor()erstellen und dann das Cursor-Objekt verwenden, um SQL-Einfügungsanweisungen auszuführen. Nach dem Einfügen von Daten können Sie die conn.commit()Commit- um den Einfügevorgang in der Datenbank zu speichern.

Bevor Sie die Transaktion festschreiben, können Sie das Cursorobjekt mit cur.close()schließen , dies ist jedoch nicht erforderlich. Wenn Sie das Cursorobjekt schließen, bevor Sie die Transaktion festschreiben, aber versuchen, es nach dem Festschreiben der Transaktion zu verwenden, erhalten Sie einen Fehler.

Im Folgenden finden Sie einen Beispielcode zum Einfügen von Daten in eine PostgreSQL-Datenbank, der den Prozess zum Festschreiben einer Transaktion nach dem Einfügen von Daten demonstriert:

import psycopg2

# 连接数据库
conn = psycopg2.connect(
    host="your_host_name",
    database="your_database_name",
    user="your_username",
    password="your_password"
)

# 创建游标对象
cur = conn.cursor()

# 插入数据
cur.execute("INSERT INTO your_table_name (column1, column2, column3) VALUES (%s, %s, %s)", (value1, value2, value3))

# 提交事务
conn.commit()

# 关闭游标和连接
cur.close()
conn.close()

Im obigen psycopg2Code connectverbinden wir uns zunächst mit der Funktion des Moduls mit der PostgreSQL-Datenbank. Dann haben wir ein Cursorobjekt erstellt curund executedie Methode , um eine SQL-Einfügeanweisung auszuführen, um die Daten in die Datenbank einzufügen. Schließlich schreiben wir die Transaktion mit commitder Methode und speichern die Einfügeoperation in der Datenbank. Beachten Sie, dass die Daten nicht in der Datenbank gespeichert werden, wenn Sie commitdie Methode .

Schließlich schließen wir das Cursorobjekt und die Datenbankverbindung mit closeder Methode . Beachten Sie, dass Sie nach dem Schließen einer Verbindung nichts mehr mit diesem Verbindungsobjekt tun können.

Wenn Sie commitdie Methode um Transaktionen manuell festzuschreiben, können Sie conn.autocommitdie Eigenschaft auf setzen True, wodurch jede SQL-Anweisung automatisch an die Datenbank festgeschrieben wird, ohne commitdie Methode .

Das folgende Beispiel zeigt, wie Sie autocommitdie Eigenschaft Trueund executedie Methode , um Daten in eine PostgreSQL-Datenbank einzufügen:

import psycopg2

# 连接数据库,并设置 autocommit 属性为 True
conn = psycopg2.connect(
    host="your_host_name",
    database="your_database_name",
    user="your_username",
    password="your_password",
    autocommit=True
)

# 创建游标对象
cur = conn.cursor()

# 插入数据
cur.execute("INSERT INTO your_table_name (column1, column2, column3) VALUES (%s, %s, %s)", (value1, value2, value3))

# 关闭游标和连接
cur.close()
conn.close()

Im obigen Code verwenden wir psycopg2die connectFunktion des Moduls , um eine Verbindung zur PostgreSQL-Datenbank herzustellen, und setzen autocommitdie Eigenschaft auf True. Dann haben wir ein Cursorobjekt erstellt curund executedie Methode , um eine SQL-Einfügeanweisung auszuführen, um die Daten in die Datenbank einzufügen. Da wir autocommitdie Eigenschaft True, wird jede SQL-Anweisung automatisch an die Datenbank übergeben, ohne dass commitdie Methode .

Schließlich schließen wir das Cursorobjekt und die Datenbankverbindung mit closeder Methode . Beachten Sie, dass Sie nach dem Schließen einer Verbindung nichts mehr mit diesem Verbindungsobjekt tun können.

Supongo que te gusta

Origin blog.csdn.net/qq_41604569/article/details/130325769
Recomendado
Clasificación