Veröffentlicht am 26-03-2019

Postgres CRUD-Operationen mit Python Teil 4: [Löschen]

Hallo, hoffe, dass die Serie für dich ganz gut läuft. Wenn Sie an einem bestimmten Punkt festgefahren sind oder entweder [stimme keiner der verwendeten Techniken zu.] einen besseren Weg haben | oder einfach nur chatten], zögern Sie nicht, einen Kommentar zu hinterlassen und stehen Ihnen für alle oben genannten Dinge gerne zur Verfügung.

Jetzt haben wir eine Tabelle erstellt, eine Reihe von Datensätzen eingefügt und gelernt, wie wir sie aktualisieren können. Nun, was ist, wenn wir auf eine Platte verzichten wollen. Was ist, wenn Sie einen Tisch mit allen Ihren Haustieren halten und Ihre Katze Ihr Sandwich isst? Sie hat es definitiv nicht mehr verdient, auf dem Haustiertisch zu sein und muss mit absoluter Hast ENTFERNT werden!

Wie alle vorherigen Schritte ist auch dieser Schritt sehr einfach.

Wenn Sie Lust haben, fordere ich Sie auf, diese Registerkarte zu minimieren, überprüfen Sie den Code der vorherigen Klasse und versuchen Sie, ihn so anzupassen, dass er gelöscht wird, anstatt ein Update durchzuführen. Du könntest dich überraschen.

Wie immer beginnen wir mit dem Erstellen einer neuen Datei pg_delete.py

Hier machen wir etwas anderes und definieren eine Methode. Diese Methode umfasst alles, was wir von hier an tun.

Meine Methode heißt deletecake und nimmt cake_id als Argument.

def deletecake (cake_id):

Ich definiere dann die Verbindung:

connection = psycopg2.connect (user = "postgres")
                                      password = "xxxxxxx",
                                      host = "127.0.0.1",
                                      port = "5432",
                                      database = "crudseries")
Cursor = Verbindungscursor ()

Ich würde auch gerne sehen, welche Aufzeichnung ich lösche, also werde ich die Aufzeichnung ausdrucken:

#Datensatz vor dem Löschen anzeigen
        Druck ("Cake Records")
        select = "" "SELECT * FROM stage1.cake_flavours
                                wobei cake_id =% s; "" "
        Cursor.Execute (select, (cake_id,))
        record = cursor.fetchone ()
        drucken (aufzeichnen)

Sie haben wahrscheinlich bemerkt, dass ich% s in meinen Abfragen verwende. Ich mache das, wenn ich meiner Abfrage einen Parameter übergebe. In diesem Fall werde ich die cake_id übergeben, wenn ich die Methode am Ende aufrufe.

Ich werde dann meine Löschabfrage definieren und ausführen:

#Löschen Sie den Frigging-Kuchen
        delete = "" "Löschen von stage1.cake_flavours
                    wo cake_id =% s "" "
        Cursor.execute (löschen, (cake_id,))
        connection.commit ()
        count = Cursor. Anzahl
        drucken (zählen, "Kuchen wurde erfolgreich gelöscht")

Zum Schluss füge ich alles in die Methode ein und füge meine Feedback-Anweisungen hinzu, um festzustellen, ob mein Code korrekt ausgeführt wird, und dann die Methode aufzurufen:

Der gesamte Code ist auf diesem Github-Repo verfügbar.

Siehe auch

Innovationsschwerpunkt: Rebecca Liu, Insight PartnersInteressante Erfahrungen in Portland diese Woche · 28. März-3. AprilInfrastrukturüberwachung vs. NPMD (Netzwerkleistungsüberwachung und -diagnose)Eine neue Ära des Geldes - Facebook-MünzeFeedzai im Pixellager 2019