Rumah  >  Artikel  >  pangkalan data  >  Bagaimanakah saya boleh mendapatkan pengepala lajur daripada pertanyaan MySQL menggunakan Python?

Bagaimanakah saya boleh mendapatkan pengepala lajur daripada pertanyaan MySQL menggunakan Python?

Patricia Arquette
Patricia Arquetteasal
2024-11-06 20:30:03921semak imbas

How can I retrieve column headers from a MySQL query using Python?

Mendapatkan Maklumat Lajur daripada Pertanyaan MySQL

Apabila membangunkan aplikasi Python menggunakan MySQLdb, satu tugas biasa adalah untuk melaksanakan pertanyaan SQL dan mendapatkan semula yang terhasil nama lajur dan nilai. Secara lalai, cursor.fetchall() hanya mengembalikan data tanpa maklumat lajur.

Untuk mendapatkan pengepala lajur, gunakan atribut cursor.description. Ia menyediakan tuple tuple, di mana setiap tuple dalam mengandungi maklumat tentang lajur. Elemen pertama setiap tuple dalam ialah pengepala lajur.

Untuk menggambarkan lajur yang ditentukan pengguna dengan tepat dalam pertanyaan SQL, pertimbangkan langkah berikut:

<code class="python">cursor.execute(sql)
num_fields = len(cursor.description)
field_names = [i[0] for i in cursor.description]</code>

Kod ini mendapatkan semula bilangan lajur dalam hasil pertanyaan dan mencipta senarai pengepala lajur daripada atribut cursor.description.

Dalam contoh Python khusus anda, anda boleh mengubah suai kod untuk mengekstrak nama lajur:

<code class="python">import MySQLdb

# Connect to MySQL

db = MySQLdb.connect(...)

# Execute the 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 headers

num_fields = len(cursor.description)
field_names = [i[0] for i in cursor.description]

# Fetch and print the results

while (1):
    row = cursor.fetchone()
    if row == None:
        break
    print(" ".join("{}={}".format(field_names[i], row[i]) for i in range(num_fields)))

cursor.close()
db.close()</code>

Kod dipertingkat ini kini mengambil dan mencetak kedua-dua pengepala lajur dan nilai data yang sepadan dengan betul untuk setiap baris.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mendapatkan pengepala lajur daripada pertanyaan MySQL menggunakan Python?. 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