Rumah > Artikel > pangkalan data > Bagaimanakah saya boleh mendapatkan pengepala lajur daripada pertanyaan MySQL menggunakan 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!