sql >> Databasteknik >  >> RDS >> Mysql

Fråga för att hitta tabeller som ändrats under den senaste timmen

MySQL 5.x kan göra detta via databasen INFORMATION_SCHEMA. Denna databas innehåller information om tabeller, vyer, kolumner, etc.

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

Returnerar alla tabeller som har uppdaterats (UPDATE_TIME) under den senaste timmen. Du kan också filtrera efter databasnamn (kolumnen TABLE_SCHEMA).

En exempelfråga:

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';


  1. 2PL, rigorös vs strikt modell, finns det någon fördel?

  2. SQLite - Släpp en databas

  3. Finns det en SELECT ... INTO OUTFILE-motsvarighet i SQL Server Management Studio?

  4. Hur sparar jag PHP-sessionsdata till en databas istället för i filsystemet?