select

4. DATENSÄTZE AUSWÄHLEN (SELECT)

 

 

DU LERNST HIER...

 

wie du in einer Datenbank gezielt nach bestimmten Informationen suchst und nur  ausgewählte Informationen anzeigst.  Die gezielte Auswahl bestimmter Informationen aus einer riesigen Datensammlung, auch Datenreduktion oder Datenfilterung genannt, ist eine wichtige Datenbankoperation.

 

 

MUSTERBEISPIEL

 

Du gehst wieder von der Personendatenbank aus, die du in den vorherigen Kapiteln erzeugt hast,  interessierst dich aber nur für die Mädchen. Dazu verwendest du den printSelection-Befehl. Der Aufruf zeigt alle Datensätze an, welche die Bedingung erfüllen.

Programm:

from dbtable import *

DbTable.restore()
persons = DbTable("persons") 
persons.printSelection(geschlecht = "w")
► In Zwischenablage kopieren

Ergebnis:

Du kannst auch mehrere Suchkriterien verwenden. Du suchst zum Beispiel alle männlichen Personen mit dem Jahrgang 2003.

Programm:

from dbtable import *

DbTable.restore()
persons = DbTable("persons") 
persons.printSelection(geschlecht = "m", jahrgang = 2003)
► In Zwischenablage kopieren

Ergebnis:

 

 

MERKE DIR...

 

Mit printSelection() kannst du eine Auswahl der Datensätze vornehmen.


 

 

ZUM SELBST LÖSEN

 

1.

Suche in der Tabelle persons alle Personen mit Wohnort Bern.

2.

In der Tabelle mountains sind einige bekannte Gipfel, ihr Land und ihre Höhe gespeichert. Ergänze das unten stehende Programm so, dass zuerst alle Berge und dann

a) nur Berge, die sich in der Schweiz befinden, angezeig werden

b) alle Berge höher als 4000 m angezeigt werden.

Programm:

from dbtable import *

mountains = DbTable('mountains', ['berg', 'land', 'hoehe']) 
mountains.insert('Aconcagua', 'Argentinien', 6962)
mountains.insert('Mont Blanc', 'Frankreich', 4808)
mountains.insert('Piton de Neiges', 'Frankreich', 3069)
mountains.insert('Etna', 'Italien', 3329)
mountains.insert('Monte Viso', 'Italien', 3841)
mountains.insert('Fuji', 'Japan', 3776)
mountains.insert('Mount Everest', 'Nepal', 8848)
mountains.insert('Grossglockner', 'Oesterreich', 3798)
mountains.insert('Wildspitze', 'Oesterreich', 3768)
mountains.insert('K2', 'Pakistan', 8611)
mountains.insert('Elbrus', 'Russland', 5642)
mountains.insert('Piz Bernina', 'Schweiz', 4049)
mountains.insert('Monte Rosa', 'Schweiz', 4634)
mountains.insert('Matterhorn', 'Schweiz', 4478)
mountains.insert('Eiger', 'Schweiz', 3970)
mountains.insert('Finsteraarhorn', 'Schweiz', 4274)
mountains.insert('Dents du Midi', 'Schweiz', 3257)
mountains.insert('Toedi', 'Schweiz', 3614)
mountains.insert('Adula', 'Schweiz', 3402)
mountains.insert('Teide', 'Spanien', 3718)
mountains.insert('Kilimanjaro', 'Tanzania', 5895)
mountains.insert('Mauna Kea', 'USA', 4205)
mountains.insert('Mount Rainier', 'USA', 4393)
mountains.insert('Piz Bernina', 'Schweiz', 4049)
mountains.insert('Monte Rosa', 'Schweiz', 4634)
mountains.insert('Matterhorn', 'Schweiz', 4478)
mountains.insert('Finsteraarhorn', 'Schweiz', 4274)
mountains.printTable()
DbTable.save('mountains.db')   
► In Zwischenablage kopieren
.



 

.