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

Mary-Kate Olsen
Lepaskan: 2024-11-05 08:41:02
asal
228 orang telah melayarinya

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!