Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Reflecteer de census-tabel zoals je in de vorige oefening deed met de functie Table().
  • Print een lijst met kolomnamen van de census-tabel door de .keys()-methode toe te passen op census.columns.
  • Print de details van de census-tabel met behulp van de metadata.tables-dictionary in combinatie met de functie repr(). Doe dit door eerst de 'census'-sleutel van de metadata.tables-dictionary te benaderen en deze in de meegeleverde repr()-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(____))
Code bewerken en uitvoeren