delete

6. DATENSÄTZE LÖSCHEN (DELETE)

 

 

DU LERNST HIER...

 

wie man einen, mehrere oder alle Datensätze einer Tabelle löschen kann. Dabei musst du aber sehr vorsichtig sein, damit du nicht versehentlich Daten verlierst.

 

 

MUSTERBEISPIEL

 

Da Zwahlen Noe an eine andere Schule übertritt, wird ihr Datensatz aus der Tabelle personen gelöscht. Dazu verwendest du den delete-Befehl, bei dem du wie beim select- und update-Befehl den betreffenden Datensatz mit Gleichheitsbedingungen auswählst. Erfüllen mehrere Datensätze die Bedingungen, so werden sie alle gelöscht. Aus diesem Grund verwendest du am besten das Schlüsselfeld id, das den Datensatz eindeutig festlegt. Du kannst die id durch Ausschreiben der Tabelle herausfinden. Wieder gehst du von der Tabelle persons aus, die du im Kapitel 3 in der Datenbank schule.db erzeugt hast.

from dbtable import *

persons = DbTable()
persons.restore("schule.db")
print(persons)
persons.delete(id = 5)
print(persons)
persons.save("schule.db")
► In Zwischenablage kopieren

Damit die Veränderung der Tabelle tatsächlich in der Datenbank übernommen wird, musst du sie mit save() speichern.

 

 

MERKE DIR...

 

Beim Löschen von Datensätzen musst du auf die Eindeutigkeit achten, sonst verlierst du ungewollt gewisse Datensätze. Gibst du beispielsweise gar keine Bedingung an, so wählst du damit alle Datensätze aus und es werden dementsprechend alle gelöscht. Das folgende Programm zeigt dann eine leere Tabelle (die aber zum Glück nicht gespeichert wird).

from dbtable import *

persons = DbTable()
persons.restore("schule.db")
print(persons)
persons.delete()
print(persons)
► In Zwischenablage kopieren

 

 

ZUM SELBST LÖSEN

 
1.

Hole dir wie in Kapitel 2 mit topsongs.restoreFromTJ("tigerjython.db")  die Top Songs und lösche alle Songs von Ed Sheeran. Zeige die Tabelle nachher sortiert nach Artistennamen an.

2a.

Hole dir wie im Kapitel 2 mit mountains.restoreFromTJ("tigerjython.db") Informationen über die höchsten Berge. Zeige im Ausgabefenster alle Berge an, die weniger hoch als 3000 m sind.

2b.

Lösche in der Tabelle alle Berge, die weniger hoch als 3000 m sind, und zeige die Tabelle an.