Heim  >  Artikel  >  Datenbank  >  Wie rufe ich mit MySQLdb Spaltennamen aus einer MySQL-Abfrageergebnismenge in Python ab?

Wie rufe ich mit MySQLdb Spaltennamen aus einer MySQL-Abfrageergebnismenge in Python ab?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-05 08:41:02212Durchsuche

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

MySQL: Spaltenüberschriften aus Abfrageergebnissen abrufen

Frage:

Wie können wir abrufen Spaltennamen oder Aliase aus einem MySQL-Abfrageergebnissatz in Python mit MySQLdb? Voraussetzung ist, dass die Spaltennamen im Ergebnissatz mit den ausgewählten Spalten übereinstimmen, die in der SQL-Abfrage angegeben sind.

Antwort:

So rufen Sie Spaltennamen oder Aliase von a ab Führen Sie die folgenden Schritte aus, um die MySQL-Abfrageergebnisse mithilfe von MySQLdb festzulegen:

  1. Führen Sie die MySQL-Abfrageanweisung mit „cursor.execute()“ aus.
  2. Verwenden Sie „cursor.description“, um ein Tupel von Tupeln zu erhalten, die das darstellen Metadaten jeder Spalte im Ergebnissatz. Das erste Element in jedem Tupel ([0]) ist der Spaltenname oder Alias.
  3. Um die Anzahl der von der Abfrage zurückgegebenen Spalten zu erhalten, verwenden Sie len(cursor.description).

Codebeispiel:

<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>

Das obige ist der detaillierte Inhalt vonWie rufe ich mit MySQLdb Spaltennamen aus einer MySQL-Abfrageergebnismenge in Python ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn