In MySQL ein Dict als Ergebnis?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
kaineanung
User
Beiträge: 145
Registriert: Sonntag 5. April 2015, 20:57

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())
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

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.
Antworten