MySQL 日期时间类型的选择
前言
以下文章主要做一个总结记录
正文
选择 MySQL 日期时间类型时,需要考虑数据的特性和应用场景
数据类型 | 存储大小 | 取值范围 | 精度 | 用途 |
---|---|---|---|---|
DATE | 3 bytes | ‘1000-01-01’ 到 ‘9999-12-31’ | 无 | 仅存储日期(年、月、日) |
DATETIME | 8 bytes | ‘1000-01-01 00:00:00’ 到 ‘9999-12-31 23:59:59’ | 秒精度 | 存储完整的日期和时间 |
TIMESTAMP | 4 bytes | ‘1970-01-01 00:00:01’ UTC 到 ‘2038-01-19 03:14:07’ UTC | 秒精度 | 用于记录事件的时间,自动更新和时区支持 |
TIME | 3 bytes | ‘-838:59:59’ 到 ‘838:59:59’ | 秒精度 | 存储时间段,适合记录持续时间 |
YEAR | 1 byte | 1901 到 2155 | 无 | 存储年份,适合表示年份 |
主要的内容如下:
-
DATE
:适合只需记录日期的情况,比如生日、节假日等。其存储空间小且使用简单 -
DATETIME
: 当需要精确记录事件发生的具体时间时,使用 DATETIME。适用于日志记录、交易时间等场景,但不支持时区转换 -
TIMESTAMP
:适用于需要考虑时区的应用场景,数据库会根据服务器时区和会话时区进行转换。常用于自动记录创建时间和修改时间 -
TIME
:用于记录时间长度,比如事件持续时间、计时等,适合不需要特定日期的情况 -
YEAR
: 仅存储年份信息,适合年份数据较为稀疏的场合,如用户注册年份
原文地址:https://blog.csdn.net/weixin_47872288/article/details/142727634
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!