Seite 1 von 1

In MySQL ein Dict als Ergebnis?

Verfasst: Montag 23. November 2015, 22:22
von kaineanung
Hallo Leute,

ich hätte da mal wieder ein Problem:

Ich bin gerade dabei in das Thema mySQL und Python 'einzusteigen' und würde gerne, wie in meinen bisherigen Sprachen gewohnt, ein Select-Ergebnis als Dictinory gespeichert haben damit ich nicht über den Zahlenindex sondern über einen Key auf die Recordsets zugreifen kann.

Wenn ich folgendes SQL-Statement absetze:
[Codebox=mysql file=Unbenannt.sql]
Select stadt, bevoelkerung as population from staedte
[/Codebox]

möchte ich im result so zugreifen:

Code: Alles auswählen

print(result['stadt'])
print(result['population'])
statt mit einem Index wie

Code: Alles auswählen

print(result[0])
print(result[1])
Geht das?

Ach ja, ich importiere für mein SQL-Vorhaben die Bibliothek 'MySQLdb'.

Habe irgendwo gelesen das es ein dictfetchall oder dictfetchone geben soll. In meinem Code funktioniert es leider nicht und somit denke ich das die MySQLdb dies so nicht anbietet, oder?
Ich bekomme folgende Fehlermeldung wenn ich es versuche:
'Cursor' object has no attribute 'dictfetchall'
(Alternativ die gleiche Fehlermeldung bei dictfetchone())

Re: In MySQL ein Dict als Ergebnis?

Verfasst: Montag 23. November 2015, 23:27
von cofi
Du benutzt eine bestimmte Bibliothek, also gilt es deren Dokumentation zu lesen, statt wild herumzuraten.

Bei http://mysql-python.sourceforge.net/MySQLdb-1.2.2/ wird man dann auch fuendig und weiss dass man den `DictCursor` verwenden muss.