Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

SQLAlchemy में dict के रूप में क्वेरी परिणाम पुनर्प्राप्त करें

SQLAlchemy 1.4 के लिए अद्यतन उत्तर:

संस्करण 1.4 ने पुराने engine.execute() . को हटा दिया है पैटर्न और तरीका बदल दिया .execute() आंतरिक रूप से कार्य करता है। .execute() अब एक CursorResult लौटाता है ऑब्जेक्ट के साथ .mappings() विधि:

import sqlalchemy as sa

# …

with engine.begin() as conn:
    qry = sa.text("SELECT FirstName, LastName FROM clients WHERE ID < 3")
    resultset = conn.execute(qry)
    results_as_dict = resultset.mappings().all()
    pprint(results_as_dict)
    """
    [{'FirstName': 'Gord', 'LastName': 'Thompson'}, 
     {'FirstName': 'Bob', 'LastName': 'Loblaw'}]
    """

(SQLAlchemy 1.3 के लिए पिछला उत्तर)

यदि आप engine.execute . का उपयोग करते हैं तो SQLAlchemy आपके लिए यह पहले से ही करता है raw_connection() . के बजाय . engine.execute . के साथ , fetchone एक SQLAlchemy लौटाएगा Row वस्तु और fetchall एक list लौटाएगा का Row वस्तुओं। Row ऑब्जेक्ट्स को कुंजी द्वारा एक्सेस किया जा सकता है, जैसे dict :

sql = "SELECT FirstName, LastName FROM clients WHERE ID = 1"
result = engine.execute(sql).fetchone()
print(type(result))  # <class 'sqlalchemy.engine.result.Row'>
print(result['FirstName'])  # Gord

यदि आपको एक सच्चे dict की आवश्यकता है ऑब्जेक्ट तो आप इसे केवल रूपांतरित कर सकते हैं:

my_dict = dict(result)
print(my_dict)  # {'FirstName': 'Gord', 'LastName': 'Thompson'}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql में शीर्ष एन प्रति समूह एसक्यूएल समस्या

  2. नल अंतिम छँटाई

  3. Peeeee का उपयोग करके कई समान डेटाबेस को क्वेरी कैसे करें?

  4. ETIMEDOUT त्रुटि जब mysql डेटाबेस क्वेरी कर रहा है

  5. MySQL2 / रूबी 1.9.3 / रेल 3.2 . पर विभाजन दोष