Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Abfrage, um Tabellen zu finden, die in der letzten Stunde geändert wurden

MySQL 5.x kann dies über die Datenbank INFORMATION_SCHEMA tun. Diese Datenbank enthält Informationen über Tabellen, Ansichten, Spalten usw.

SELECT * 
FROM `INFORMATION_SCHEMA`.`TABLES`
WHERE 
    DATE_SUB(NOW(), INTERVAL 1 HOUR) < `UPDATE_TIME`

Gibt alle Tabellen zurück, die in der letzten Stunde aktualisiert wurden (UPDATE_TIME). Sie können auch nach Datenbanknamen filtern (Spalte TABLE_SCHEMA).

Eine Beispielabfrage:

SELECT 
    CONCAT(`TABLE_SCHEMA`, '.', `TABLE_NAME`) AS `Table`, 
    UPDATE_TIME AS `Updated`
FROM `INFORMATION_SCHEMA`.`TABLES`
WHERE
    DATE_SUB(NOW(), INTERVAL 3 DAY) < `UPDATE_TIME`
    AND `TABLE_SCHEMA` != 'INFORMATION_SCHEMA'
    AND `TABLE_TYPE` = 'BASE TABLE';