Afficher les détails d’une table
Excellent travail pour avoir reflété la table census ! Vous pouvez maintenant en apprendre davantage sur les colonnes et la structure de votre table. Il est important de bien comprendre votre base de données en examinant les noms de colonnes. Pour cela, utilisez l’attribut .columns et la méthode .keys(). Par exemple, census.columns.keys() renvoie la liste des noms de colonnes de la table census.
Ensuite, vous pouvez utiliser le conteneur de métadonnées pour obtenir plus d’informations sur la table « reflétée », comme les colonnes et leurs types. Par exemple, les informations sur les objets table sont stockées dans le dictionnaire metadata.tables. Vous pouvez donc récupérer les métadonnées de votre table census avec metadata.tables['census']. Cela ressemble à l’utilisation que vous avez faite de la fonction repr() sur la table census dans l’exercice précédent.
Le code de connexion au moteur et d’initialisation des métadonnées que vous avez écrit dans les exercices précédents est de nouveau affiché pour vous, et pour la dernière fois. À partir de maintenant et jusqu’au chapitre 5, cela sera généralement effectué en arrière-plan.
Cet exercice fait partie du cours
Introduction aux bases de données en Python
Instructions
- Reflétez la table
censuscomme dans l’exercice précédent à l’aide de la fonctionTable(). - Affichez la liste des noms de colonnes de la table
censusen appliquant la méthode.keys()àcensus.columns. - Affichez les détails de la table
censusen utilisant le dictionnairemetadata.tablesavec la fonctionrepr(). Pour cela, accédez d’abord à la clé'census'du dictionnairemetadata.tables, puis placez-la dans la fonctionrepr()fournie.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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(____))