使用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中文网其他相关文章!