從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中文網其他相關文章!