获取MySQL数据库上次更改的日期/时间

获取MySQL数据库上次更改的日期/时间,mysql,datetime,timestamp,Mysql,Datetime,Timestamp,我使用的是MySQL,我希望获得数据库中任何表的最后一次更改的日期/时间。我的每个表都有一个自动更新的'*_modified'时间戳,因此我可以使用它(*是前缀) 这样做的目的是确定自上次数据库备份的日期/时间以来,数据是否发生了任何更改 我想知道有没有一种更简单的方法可以使用descripe或SHOW来实现这一点?我找了又试,但什么也没找到 谢谢你的帮助。我从 SELECT update_time FROM information_schema.tables WHERE table_sc

我使用的是MySQL,我希望获得数据库中任何表的最后一次更改的日期/时间。我的每个表都有一个自动更新的'*_modified'时间戳,因此我可以使用它(*是前缀)

这样做的目的是确定自上次数据库备份的日期/时间以来,数据是否发生了任何更改

我想知道有没有一种更简单的方法可以使用descripe或SHOW来实现这一点?我找了又试,但什么也没找到

谢谢你的帮助。

我从

SELECT update_time
FROM   information_schema.tables
WHERE  table_schema = 'dbName'
       AND table_name = 'tableName'
我不确定它是否能帮助你,因为我在MySql方面还没有准备好

获取数据库大小、可用空间和上次更新

要获取当前数据库大小,只需从表中的信息\u架构数据库查询查询浏览器或CLI即可

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;

公认的答案很好,但我认为一个更好的格式,以防新手无法立即看到:

SELECT table_name, update_time
FROM   information_schema.tables
WHERE  table_schema = 'myDBName'
order by update_time DESC
因为,我们并不总是知道哪些表被触碰过,而且通过显示最新更新的表,可以提供关于活动内容的线索。

简单地说, 要获取一个数据库下的所有表,请使用此查询

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

就这些

嗨,扎克,谢谢你的回答-正是我想要的。请允许我补充一个问题。。。在我的Linux系统上,查询必须更新为information_schema.TABLES,而不是小写示例。考虑到它总是由Linux托管,这会是安全和稳定的吗?感谢如果您使用PHP访问它,那么区分大小写不应该是一个问题。。老实说,我不确定.sh脚本等。实际上,它返回表中数据更改的
时间。它存储在模式中,而不是表本身。它不是得到模式更改的时间(我甚至不认为MySQL存储了这些信息)——它是得到最后一次使用
更新
插入
,等等查询表的时间。据我所知,每次查询这样的表时,欢迎您提供证据,它更新所述表的模式更新时间。对于InnoDB表,
UPDATE\u TIME
始终提供
NULL
(MySQL 5.7.2以下的数据库)。小心使用
信息\u schema.tables
中的更新时间。它是一个不稳定的值,在服务器重新启动后可以返回NULL。避免在数据的完整性取决于数据是否正确的情况下使用它。