从 MySQL 查询中检索列信息
使用 MySQLdb 开发 Python 应用程序时,一项常见任务是执行 SQL 查询并检索结果列名称和值。默认情况下,cursor.fetchall() 仅返回不包含列信息的数据。
要获取列标题,请使用cursor.description 属性。它提供了一个元组的元组,其中每个内部元组都包含有关列的信息。每个内部元组的第一个元素是列标题。
为了准确反映 SQL 查询中用户指定的列,请考虑以下步骤:
<code class="python">cursor.execute(sql) num_fields = len(cursor.description) field_names = [i[0] for i in cursor.description]</code>
此代码检索查询结果中的列,并从cursor.description属性创建列标题列表。
在您的特定Python示例中,您可以修改代码以提取列名称:
<code class="python">import MySQLdb # Connect to MySQL db = MySQLdb.connect(...) # Execute the query cursor = db.cursor() cursor.execute(""" select ext, sum(size) as totalsize, count(*) as filecount from fileindex group by ext order by totalsize desc; """) # Get column headers num_fields = len(cursor.description) field_names = [i[0] for i in cursor.description] # Fetch and print the results while (1): row = cursor.fetchone() if row == None: break print(" ".join("{}={}".format(field_names[i], row[i]) for i in range(num_fields))) cursor.close() db.close()</code>
此增强型代码现在可以正确检索并打印每行的列标题和相应的数据值。
以上是如何使用 Python 从 MySQL 查询中检索列标题?的详细内容。更多信息请关注PHP中文网其他相关文章!