Получение даты/времени последнего изменения в базе данных MySQL

Я работаю с MySQL, и я хотел бы получить дату/время последнего изменения в любой таблице в базе данных. Каждая из моих таблиц имеет автоматическое обновление "* _modified" timestamp, поэтому я мог бы использовать это (* - префикс).

Целью этого является разработка, если данные вообще изменились с даты/времени последней резервной копии базы данных.

Мне было интересно, есть ли более простой способ сделать это с помощью DESCRIBE или SHOW? Я искал и экспериментировал, но ничего не нашел.

Спасибо за помощь.

Ответ 1

SELECT update_time
FROM   information_schema.tables
WHERE  table_schema = 'dbName'
       AND table_name = 'tableName'

Ответ 2

Я нашел этот метод, http://mysqladministrators.blogspot.it/2012/02/get-database-size.html

Я не уверен, что это может вам помочь, так как я не так подготовлен в MySql

Получить размер базы данных, свободное пространство и последнее обновление

Чтобы получить текущий размер базы данных, просто запросив запрос в браузере запросов или CLI из базы данных INFORMATION_SCHEMA в таблицах 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 ;

Получить свободное пространство базы данных

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;

Получите последнее обновление базы данных, упорядоченное по времени обновления, а затем создайте время.

SELECT MAX(UPDATE_TIME), MAX(CREATE_TIME), TABLE_SCHEMA 
FROM `TABLES` 
GROUP BY TABLE_SCHEMA 
ORDER BY 1, 2;

Ответ 3

Принятый ответ велик, но я думаю, что лучший формат в случае, если он не сразу станет очевидным для новичков, будет:

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

Так как мы не всегда знаем, какие таблицы были затронуты, и у этого есть бонус дать представление о том, что это за активность, показывая наиболее недавно обновленные таблицы.

Ответ 4

Просто, для того, чтобы все таблицы в одной базе данных использовали этот запрос

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

Что все