Getting the date/time of the last change to a MySQL database

前端 未结 4 1379
花落未央
花落未央 2021-02-07 16:21

I\'m working with MySQL and I would like to get the date/time of the very last change to any table within a database. Each of my tables has an auto updating \'*_modified\' time

相关标签:
4条回答
  • 2021-02-07 16:39

    The accepted answer is great, but I think a better format in case it's not immediately apparent to a rookie would be:

    SELECT table_name, update_time
    FROM   information_schema.tables
    WHERE  table_schema = 'myDBName'
    order by update_time DESC
    

    Since, we don't always know what table(s) have been touched, and this has the bonus of giving a clue as to what the activity was by showing the most-recently-updated tables.

    0 讨论(0)
  • 2021-02-07 16:50

    I found this metod, from http://mysqladministrators.blogspot.it/2012/02/get-database-size.html

    I'm not sure if it can help you, since i'm not so prepared in MySql

    Get the database size, free space and last update

    To get the current database size just by querying into your query browser or CLI from the INFORMATION_SCHEMA database in table TABLES.

    SELECT table_schema "Data Base Name", 
    sum( data_length + index_length ) / 1024 / 1024 "Data Base Size in MB" 
    FROM information_schema.TABLES 
    GROUP BY table_schema ;
    

    Get the database free space

    SELECT table_schema "Data Base Name", 
    sum( data_length + index_length ) / 1024 / 1024 "Data Base Size in MB", 
    sum( data_free )/ 1024 / 1024 "Free Space in MB" 
    FROM information_schema.TABLES 
    GROUP BY table_schema;
    

    Get the database last update ordered by update time then by create time.

    SELECT MAX(UPDATE_TIME), MAX(CREATE_TIME), TABLE_SCHEMA 
    FROM `TABLES` 
    GROUP BY TABLE_SCHEMA 
    ORDER BY 1, 2;
    
    0 讨论(0)
  • 2021-02-07 16:52
    SELECT update_time
    FROM   information_schema.tables
    WHERE  table_schema = 'dbName'
           AND table_name = 'tableName'
    
    0 讨论(0)
  • 2021-02-07 16:53

    Simply, to get all tables under one database use this query

    SELECT TABLE_NAME,CREATE_TIME,UPDATE_TIME
    FROM   information_schema.tables
    WHERE  table_schema = 'database_name'
    

    That's all

    0 讨论(0)
提交回复
热议问题