• cursor.MySQLCursorDict Class


    5.9.6.4 cursor.MySQLCursorDict Class

    The MySQLCursorDict class inherits from MySQLCursor. This class is available as of Connector/Python 2.0.0.

    MySQLCursorDict cursor returns each row as a dictionary. The keys for each dictionary object are the column names of the MySQL result.

    Example:

    cnx = mysql.connector.connect(database='world')
    cursor = cnx.cursor(dictionary=True)
    cursor.execute("SELECT * FROM country WHERE Continent = 'Europe'")
    print("Countries in Europe:")
    for row in cursor:
        print("* {Name}".format(Name=row['Name']
    

    The preceding code produces output like this:

    Countries in Europe:
    * Albania
    * Andorra
    * Austria
    * Belgium
    * Bulgaria
    ...
    

    It may be convenient to pass the dictionary to format() as follows:

    cursor.execute("SELECT Name, Population FROM country WHERE Continent = 'Europe'")
    print("Countries in Europe with population:")
    for row in cursor:
        print("* {Name}: {Population}".format(**row))
    
     PREV   HOME   UP   NEXT 
     User Comments
       Posted by blair gemmer on December 15, 2014
    If you want to use stored procedures, please use this format:

    cursor.callproc(stored_procedure_name, args)
    result = []
    for recordset in cursor.stored_results():
    for row in recordset:
    result.append(dict(zip(recordset.column_names,row)))
     
    ==============
     

    10.5.11 MySQLCursor.column_names Property

    Syntax:

    sequence = cursor.column_names
    

    This read-only property returns the column names of a result set as sequence of Unicode strings.

    The following example shows how to create a dictionary from a tuple containing data with keys using column_names:

    cursor.execute("SELECT last_name, first_name, hire_date "
                   "FROM employees WHERE emp_no = %s", (123,))
    row = dict(zip(cursor.column_names, cursor.fetchone()))
    print("{last_name}, {first_name}: {hire_date}".format(row))
    

    Alternatively, as of Connector/Python 2.0.0, you can fetch rows as dictionaries directly; see Section 10.6.4, “cursor.MySQLCursorDict Class”.

  • 相关阅读:
    LeetCode 791. 自定义字符串排序
    LeetCode 725. 分隔链表
    LeetCode 445. 两数相加 II
    LeetCode 354. 俄罗斯套娃信封问题
    LeetCode 338. 比特位计数
    LeetCode 318. 最大单词长度乘积
    LeetCode 300. 最长上升子序列
    蚂蚁金服研发面经
    Consul etcd ZooKeeper euerka 对比
    Java并发机制的底层实现原理之volatile应用,初学者误看!
  • 原文地址:https://www.cnblogs.com/kungfupanda/p/5937342.html
Copyright © 2020-2023  润新知