当前位置:   article > 正文

关于MySQL中datetime和timestamp的区别_mysql datetime timestamp

mysql datetime timestamp

在MySQL中一些日期字段的类型选择为datetime和timestamp,那么对于这两种类型不同的应用场景是什么呢

1 MySQL的日期类型简介

类型名称格式范围存储需要
YEARYYYY1901-21551字节
TIMEHH:MM:SS-838:59:59到838:59:593字节
DATEYYYY-MM-DD1000-01-01到9999-12-33字节
DATETIMEYYYY-MM-DD HH:MM:SS1000-01-01 00:00:00到9999-12-31 23:59:598字节
TIMESTAMPYYYY-MM-DD HH:MM:SS1970-01-01 00:00:01 UTC到2038-01-19 03:14:07 UTC4字节

上述日期类型,使用较多的是DATE和DATETIME,TIMESTAMP,因在某些场景下,需要记录时间的具体的时分秒.所以,需要从DATETIME和TIMESTAMP中选择. 而这两者又有什么相同点和异同点.

2 datetime和timestamp的区别

相同点:

  • 存储格式相同 datetime和timestamp两者的时间格式都是YYYY-MM-DD HH:MM:SS

不同点:

  • 存储范围不同. datetime的范围是1000-01-01到9999-12-31. 而timestamp是从1970-01-01到2038-01-19, 即后者的时间范围很小.
  • 与时区关系. datetime是存储服务器当前的时区. 而timestamp类型,是将服务器当前时间转换为UTC(世界时间)来存储.即datetime与时区无关,存什么,返回什么. 而timestamp存储的时间,返回的时间会随着数据库的时区不同而发生改变.

3 总结

关于datetime和timestamp的选择使用.

  • 1 在满足使用条件的情况下,占据存储空间越少越好,此时选择timestamp比datetime更好.
  • 2 timestamp类型的存储,是以UTC时区来保存的,在显示时会自动将日期数据转换,如果时间的场景对应多个时区,此时选择timestamp比datetime更好.
  • 3 关于日期的使用范围, timestamp类型最大只支持到2038-01-19年,所以如果使用的日期时间较大, 则选择datetime比timestamp更好.

根据上述的总结可知,在日常的项目使用中,优先推荐使用timestamp类型,花更少的存储空间实现时间的存储.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/230358
推荐阅读
相关标签
  

闽ICP备14008679号