Maison  >  Questions et réponses  >  le corps du texte

Obtenez les noms de colonnes et le dernier enregistrement de toutes les tables dans MySQL

Existe-t-il un moyen d'obtenir les dernières valeurs de toutes les tables et leurs noms de colonnes au lieu de sélectionner chaque table. Je suis tombé sur la requête de sélection suivante, mais elle ne renvoie que les noms de colonnes et si j'utilise * au lieu de nom_colonne, il y a beaucoup de détails inutiles dont je n'ai pas besoin.

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

J'ai seulement besoin du nom de la colonne qui contient le dernier enregistrement de cette colonne.

P粉401527045P粉401527045191 Il y a quelques jours360

répondre à tous(1)je répondrai

  • P粉211273535

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

    Je peux lire les derniers enregistrements de toutes les tables à l'aide du connecteur Phyton SQL. Il existe peut-être une meilleure façon de procéder, mais comme je ne suis pas autorisé à travailler dans une base de données en cours d'exécution, j'ai choisi cette méthode.

    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}')

    répondre
    0
  • Annulerrépondre