Tabeldetails bekijken
Goed gedaan met het reflecteren van de census-tabel! Nu kun je meer leren over de kolommen en
structuur van je tabel. Het is belangrijk om inzicht te krijgen in je database door de kolomnamen te bekijken. Dit kun je doen met
het .columns-attribuut en de .keys()-methode. Bijvoorbeeld, census.columns.keys() geeft een lijst terug met
kolomnamen van de census-tabel.
Vervolgens kunnen we de metadata-container gebruiken om meer details te vinden over de gereflecteerde tabel, zoals de kolommen en hun typen.
Bijvoorbeeld, informatie over de tabelobjecten is opgeslagen in de metadata.tables-dictionary, dus je kunt de metadata van je census-tabel ophalen met metadata.tables['census']. Dit lijkt op je gebruik van de repr()-functie op de census-tabel in de vorige oefening.
De code voor het verbinden met de engine en het initialiseren van de metadata die je in de vorige oefeningen hebt geschreven, is nog één keer voor je weergegeven. Vanaf nu en tot en met Hoofdstuk 5 gebeurt dit meestal achter de schermen.
Deze oefening maakt deel uit van de cursus
Introductie tot databases in Python
Oefeninstructies
- Reflecteer de
census-tabel zoals je in de vorige oefening deed met de functieTable(). - Print een lijst met kolomnamen van de
census-tabel door de.keys()-methode toe te passen opcensus.columns. - Print de details van de
census-tabel met behulp van demetadata.tables-dictionary in combinatie met de functierepr(). Doe dit door eerst de'census'-sleutel van demetadata.tables-dictionary te benaderen en deze in de meegeleverderepr()-functie te plaatsen.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
from sqlalchemy import create_engine, MetaData, Table
engine = create_engine('sqlite:///census.sqlite')
metadata = MetaData()
# Reflect the census table from the engine: census
census = ____(____, ____, autoload=____, autoload_with=____)
# Print the column names
print(____)
# Print full metadata of census
print(repr(____))