首頁  >  問答  >  主體

取得MySQL中所有表格的列名和最後一筆記錄

有沒有辦法取得所有表的最新值及其列名,而不是選擇每個表。我遇到了以下選擇查詢,但它只返回列名稱,如果我使用 * 而不是 column_name,則有很多我不需要的不必要的詳細資訊。

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

我只需要包含該列中最新記錄的列名稱。

P粉401527045P粉401527045191 天前351

全部回覆(1)我來回復

  • P粉211273535

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

    我可以使用 phyton sql 連接器讀取所有表的最新記錄。可能有更好的方法來做到這一點,但因為我不允許在正在運行的資料庫中工作,所以我選擇了這種方法。

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

    回覆
    0
  • 取消回覆