使用MySQL從SQL查詢中擷取列名
在MySQL中,可以使用cursor.description屬性從查詢結果中提取列名。此屬性傳回一個元組的元組,其中每個內部元組代表一個列標題。以下 Python 程式碼片段示範如何取得查詢結果中的列名稱和列數:
<code class="python">import MySQLdb # Connect to MySQL try: db = MySQLdb.connect(host="myhost", user="myuser", passwd="mypass", db="mydb") except MySQLdb.Error as e: print("Error %d: %s" % (e.args[0], e.args[1])) sys.exit(1) # Execute a 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 names field_names = [i[0] for i in cursor.description] # Get number of columns num_fields = len(cursor.description) # Print column names print("Column Names:") for name in field_names: print(name) # Print number of columns print("Number of Columns:", num_fields) # Close cursor and db cursor.close() db.close()</code>
在此範例中,假設查詢傳回列名稱 ext、totalsize 和 filecount。 field_names 清單將包含這些列名,num_fields 變數將設定為 3,表示結果集中的列數。
這種方法提供了一種簡單的解決方案,無需借助自訂 SQL 即可取得列名解析邏輯。
以上是如何從 MySQL 中的 SQL 查詢中檢索列名?的詳細內容。更多資訊請關注PHP中文網其他相關文章!