In Qiita wird ein Gedenkgottesdienst für lokale Memos abgehalten. Ich habe es letztes Jahr geschrieben, daher gibt es möglicherweise einige alte Informationen. ..
psycopg2
ist eine Bibliothek, die PostgreSQL in Python verarbeitet.
Refs.: 1,2
Sie können eine DB-Verbindung mit "conn = psycopg2.connect ({DB_URL (str)})" erstellen.
{DB_URL}
wird angegeben durch postgresql: // {Benutzername}: {pass} @ {IP-Adresse oder Hostname}: {Port} / {DB-Name}
.
Oder conn = psycopg2.connect (Host = {IP-Adresse oder Hostname (str)}, Port = {Portnummer (int)}, Datenbankname = {DB-Name (str)}, Benutzer = {Benutzername (str)}, Sie können es auch mit password = {pass (str)})
angeben.
Wenn Sie die Verbindung nicht mehr benötigen, können Sie "close ()" verwenden, aber Sie können die "with" -Syntax verwenden, daher sollten Sie sie verwenden.
import psycopg2
with psycopg2.connect({DB URL}) as conn:
# Processes you want to do
Machen Sie einen Cursor zum Werfen.
Sie können einen Cursor mit "conn.cursor ()" erstellen. Wenn dies nicht mehr benötigt wird, wird close ()
ausgeführt, aber wi
(unten abgekürzt).
Sie können eine Abfrage mit cursor.execute ({query string})
ausführen.
Wenn Sie ein Argument angeben möchten, geben Sie es als Taple (oder Liste) für das zweite Argument an, z. B. "cursor.execute" ("SELECT * FROM OSPF_TABLE WHERE FOO =% s", (fooval,)).
Sie können Argumente auch als Wörterbuch (Wörterbuchtyp) angeben. Geben Sie in diesem Fall dem Platzhalter einen Schlüssel wie "% (Schlüssel) s".
cur.execute("""
INSERT INTO some_table (an_int, a_date, another_date, a_string)
VALUES (%(int)s, %(date)s, %(date)s, %(str)s);
""",
{'int': 10, 'str': "O'Reilly", 'date': datetime.date(2005, 11, 18)})
import psycopg2
with psycopg2.connect({DB URL}) as conn:
with conn.cursor() as cur:
cur.execute({query})
Erhalten Sie das Ergebnis von SELECT
als Python-Objekt.
Sie können es mit cursor.fetchone ()
, cursor.fetchall ()
, cursor.fetchmany (size)
empfangen.
cursor.fetchone()
Empfangen Sie nur eine aus der nächsten Zeile des Ergebnisses (Abfrageergebnismenge). Das Ergebnis wird als Taple zurückgegeben. Wenn Sie es ausführen, während der Cursor auf das Ende zeigt, wird "Keine" zurückgegeben.
cursor.fetchall()
Erhalten Sie alle Ergebnisse aus der nächsten Zeile des Ergebnisses (Abfrageergebnismenge). Das Ergebnis wird als Liste der Tapples zurückgegeben. Wenn Sie es ausführen, wenn der Cursor auf das Ende zeigt, wird eine leere Liste zurückgegeben.
cursor.fetchmany(size)
Erhält "Größe" aus der nächsten Zeile des Ergebnisses (Abfrage-Ergebnismenge). Das Ergebnis wird als Liste der Tapples zurückgegeben. Wenn Sie es ausführen, wenn der Cursor auf das Ende zeigt, wird eine leere Liste zurückgegeben.
Transaktionen sind standardmäßig aktiviert, sodass Ihre Änderungen erst nach dem Festschreiben wirksam werden. Lassen Sie uns mit connect.commit ()
festschreiben.
Durch Setzen von "connect.autocommit = True" wird die Transaktion deaktiviert.
Es ist connect.rollback ()
.
Wenn Sie eine Verbindung mit der Syntax "with" herstellen, wird diese automatisch zurückgesetzt, wenn innerhalb des Blocks "with" eine Ausnahme auftritt. Es ist bequem [^ 1].
[^ 1]: Es scheint, dass es [PEP249] erfüllt (https://www.python.org/dev/peps/pep-0249/)
Recommended Posts