Maison  >  Article  >  base de données  >  Comment récupérer les noms de colonnes d'un jeu de résultats de requête MySQL en Python à l'aide de MySQLdb ?

Comment récupérer les noms de colonnes d'un jeu de résultats de requête MySQL en Python à l'aide de MySQLdb ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-05 08:41:02212parcourir

How to retrieve column names from a MySQL query result set in Python using MySQLdb?

MySQL : récupérer les en-têtes de colonnes à partir des résultats de la requête

Question :

Comment pouvons-nous récupérer noms de colonnes ou alias d'un jeu de résultats de requête MySQL en Python à l'aide de MySQLdb ? L'exigence est que les noms de colonnes dans le jeu de résultats doivent correspondre aux colonnes sélectionnées spécifiées dans la requête SQL.

Réponse :

Pour récupérer les noms de colonnes ou les alias d'un Ensemble de résultats de requête MySQL à l'aide de MySQLdb, suivez ces étapes :

  1. Exécutez l'instruction de requête MySQL à l'aide de curseur.execute().
  2. Utilisez curseur.description pour obtenir un tuple de tuples représentant le métadonnées de chaque colonne du jeu de résultats. Le premier élément de chaque tuple ([0]) est le nom ou l'alias de la colonne.
  3. Pour obtenir le nombre de colonnes renvoyées par la requête, utilisez len(cursor.description).

Exemple de code :

<code class="python"># Python

import MySQLdb

# Connect to MySQL
db = MySQLdb.connect(host="myhost", user="myuser", passwd="mypass",db="mydb")

# Execute the query
sql = """
    SELECT ext,
        SUM(size) AS totalsize,
        COUNT(*) AS filecount
    FROM fileindex
    GROUP BY ext
    ORDER BY totalsize DESC;
"""
cursor = db.cursor()
cursor.execute(sql)

# Get column names
column_names = [i[0] for i in cursor.description]

# Print results
while (1):
    row = cursor.fetchone ()
    if row == None:
        break
    print("%s %s %s\n" % (row[0], row[1], row[2]))

# Get number of columns
num_fields = len(cursor.description)

# Close cursor and database connection
cursor.close()
db.close()      

print("Number of columns:", num_fields)
print("Column names:", column_names)</code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn