Manipuler un ResultSet
Rappelez-vous la différence entre un ResultProxy et un ResultSet :
- ResultProxy : l’objet renvoyé par la méthode
.execute(). Il peut être utilisé de différentes manières pour récupérer les données retournées par la requête. - ResultSet : les données proprement dites demandées dans la requête, lorsque l’on utilise une méthode de récupération comme
.fetchall()sur un ResultProxy.
Cette séparation entre ResultSet et ResultProxy vous permet de récupérer autant ou aussi peu de données que vous le souhaitez.
Une fois que vous avez un ResultSet, vous pouvez utiliser Python pour accéder à toutes les données qu’il contient, par nom de colonne ou via des indices de liste. Par exemple, vous pouvez obtenir la première ligne des résultats avec results[0]. En affectant ensuite cette première ligne à une variable first_row, vous pouvez récupérer la donnée de la première colonne soit avec first_row[0], soit par nom de colonne comme first_row['column_name']. Vous allez maintenant vous entraîner à faire exactement cela avec le ResultSet obtenu à partir de la table census dans l’exercice précédent. Il est stocké dans la variable results. Amusez-vous bien !
Cet exercice fait partie du cours
Introduction aux bases de données en Python
Instructions
- Extraites la première ligne de
resultset affectez-la à la variablefirst_row. - Affichez la valeur de la première colonne dans
first_row. - Affichez la valeur de la colonne
'state'dansfirst_row.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Get the first row of the results by using an index: first_row
first_row = ____
# Print the first row of the results
print(first_row)
# Print the first column of the first row by accessing it by its index
print(____)
# Print the 'state' column of the first row by using its name
print(____)