TigerJython xx
für Gymnasien

Datensätze mit DELETE löschen

Mit der DELETE-Anweisung können Datensätze einer Tabelle gelöscht werden. Allgemeine Form

DELETE FROM tabelle WHERE bedingung

DELETE FROM tabelle löscht alle Datensätze

Beispiel 1: Luca Meier soll aus der Tabelle person gelöscht werden

Mit der Anweisung
DELETE FROM person WHERE name = 'Meier'

wird im folgenden Beispiel nicht nur Meier Luca, sondern auch Meier Nina gelöscht.

Beim Löschen eines Datensatzes muss daher darauf geachtet werden, dass die Bedingung eindeutig ist:

DELETE FROM person WHERE name = 'Meier' AND vorname = 'Luca'
oder noch besser
DELETE FROM person WHERE id = 2


# Delete.py

from sqlite3 import *
from prettytable import printTable

with connect("demo.db") as con:
    cursor = con.cursor()
    cursor.execute("DELETE FROM person WHERE name = 'Meier'")
    cursor.execute("SELECT * FROM person")
    printTable(cursor)
Programmcode markieren (Ctrl+C kopieren, Ctrl+V einfügen)

Erklärungen zum Programmcode:

Um die id eines Datensatzes herauszufinden, kann man die vorhandenen Datensätze mit ShowTablePerson.py anzeigen lassen

# ShowTablePerson.py

from sqlite3 import *
from prettytable import printTable

con = connect("demo.db")
with con:
    cursor = con.cursor()   
    cursor.execute("SELECT * FROM person ORDER BY name, vorname")
    printTable(cursor)
Programmcode markieren (Ctrl+C kopieren, Ctrl+V einfügen)

Bemerkung:

Falls Sie Tabelle person für die nächsten Übungen wieder vollständig haben möchten, löschen Sie zuerst mit
DELETE FROM person alle Datensätze und führen Sie das Programm InsertPersonEx1.py aus.