Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk mendapatkan semula nama lajur dari set keputusan pertanyaan MySQL dalam Python menggunakan MySQLdb?

Bagaimana untuk mendapatkan semula nama lajur dari set keputusan pertanyaan MySQL dalam Python menggunakan MySQLdb?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-05 08:41:02212semak imbas

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

MySQL: Dapatkan Pengepala Lajur daripada Hasil Pertanyaan

Soalan:

Bagaimana kita boleh mendapatkan semula nama lajur atau alias daripada hasil pertanyaan MySQL yang ditetapkan dalam Python menggunakan MySQLdb? Keperluan ialah nama lajur dalam set hasil hendaklah sepadan dengan lajur terpilih yang dinyatakan dalam pertanyaan SQL.

Jawapan:

Untuk mendapatkan semula nama lajur atau alias daripada Set keputusan pertanyaan MySQL menggunakan MySQLdb, ikuti langkah berikut:

  1. Laksanakan pernyataan pertanyaan MySQL menggunakan cursor.execute().
  2. Gunakan cursor.description untuk mendapatkan tuple of tupe yang mewakili metadata setiap lajur dalam set hasil. Item pertama dalam setiap tuple ([0]) ialah nama lajur atau alias.
  3. Untuk mendapatkan bilangan lajur yang dikembalikan oleh pertanyaan, gunakan len(cursor.description).

Contoh Kod:

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

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan semula nama lajur dari set keputusan pertanyaan MySQL dalam Python menggunakan MySQLdb?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn