Afficher les détails d'une table
Excellent travail pour avoir réfléchi 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 ce faire, utilisez l'attribut .columns et la méthode .keys(). Par exemple, census.columns.keys() renvoie une liste des noms de colonnes de la table census.
Ensuite, nous pouvons utiliser le conteneur de métadonnées pour obtenir plus de détails sur la table réfléchie, comme les colonnes et leurs types. Par exemple, les informations sur les objets table sont stockées dans le dictionnaire metadata.tables, donc vous pouvez obtenir 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 affiché encore une fois, pour la dernière fois. À partir de maintenant et jusqu'au chapitre 5, cela se fera généralement en arrière-plan.
Cette activité fait partie du cours
Introduction aux bases de données en Python
Instructions de l’exercice
- Réfléchissez 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
censusà l'aide du dictionnairemetadata.tablesavec la fonctionrepr(). Pour ce faire, accédez d'abord à la clé'census'du dictionnairemetadata.tableset placez cet objet dans la fonctionrepr()fournie.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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(____))