MYSQL是如何存储(store),检索(retrieve),展示(display) timestamp的?

The DATE type is used for values with a date part but no time part. MySQL retrieves and displays DATE values in 'YYYY-MM-DD' format. The supported range is '1000-01-01' to '9999-12-31'.

The DATETIME type is used for values that contain both date and time parts. MySQL retrieves and displays DATETIME values in 'YYYY-MM-DD HH:MM:SS' format. The supported range is '1000-01-01 00:00:00' to '9999-12-31 23:59:59'.

The TIMESTAMP data type is used for values that contain both date and time parts. TIMESTAMP has a range of '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC.

MySQL retrieves and displays DATETIME values in 'YYYY-MM-DD HH:MM:SS' format

以上是官方文档(MySQL 5.7 Reference Manual)的内容。

这里我又几点不知道的,上面只说了 retrieves and displays DATETIME。
也就是说 检索和 展示 DATETIME 是用这个'YYYY-MM-DD HH:MM:SS' 格式。
那么timestamp用的什么格式去存储,检索,和展示呢?

这里我做了几个查询的比较。

如图所示,
为什么time_at 必须要用 'YYYY-MM-DD HH:MM:SS'格式去比较?
为什么time_at 用unix_timestamp 函数包裹一下之后,时候时间花费少了这么多?
MYSQL是如何存储(store),查找(retrieve),展示(display) timestamp的呢?

time_at 字段:

time_at TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;

查看回复