Rumah  >  Soal Jawab  >  teks badan

Dapatkan nama lajur dan rekod terakhir semua jadual dalam MySQL

Adakah terdapat cara untuk mendapatkan nilai terkini semua jadual dan nama lajurnya daripada memilih setiap jadual. Saya terjumpa pertanyaan pilihan berikut tetapi ia hanya mengembalikan nama lajur dan jika saya menggunakan * dan bukannya nama_kolom terdapat banyak butiran yang tidak perlu yang saya tidak perlukan.

SELECT column_name 
FROM information_schema.columns 
where table_schema = 'classicmodels'  
order by table_name, ordinal_position

Saya hanya perlukan nama lajur yang mengandungi rekod terkini dalam lajur itu.

P粉401527045P粉401527045191 hari yang lalu357

membalas semua(1)saya akan balas

  • P粉211273535

    P粉2112735352024-04-01 00:33:44

    Saya boleh membaca rekod terkini semua jadual menggunakan penyambung sql phyton. Mungkin ada cara yang lebih baik untuk melakukan ini, tetapi kerana saya tidak dibenarkan bekerja dalam pangkalan data yang sedang berjalan, saya memilih kaedah ini.

    import logging
    import mysql.connector
    
    mydb = mysql.connector.connect(
        host="127.0.0.1",
        port=3306,
        user="root",
        password="root",
        database="classicmodels")
    
    mycursor = mydb.cursor(buffered=True , dictionary=True)
    
    sql = "SELECT * FROM information_schema.tables where table_schema = 'classicmodels'"
    mycursor.execute(sql)
    myresult = mycursor.fetchall()
    tables = [d['TABLE_NAME'] for d in myresult]
    
    for x in tables:
        sql1 = "select * from {}".format(x)
        mycursor.execute(sql1)
        myresult1 = mycursor.fetchone()
        for val, cal in myresult1.items():
            print(f'{val} is {cal}')

    balas
    0
  • Batalbalas