MySQL中datetime和timestamp的区别

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存储的时间,返回的时间会随着数据库的时区不同而发生改变.

总结

关于datetime和timestamp的选择使用.

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

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

相关推荐
羊锦磊1 小时前
[ Mybatis 多表关联查询 ] resultMap
java·开发语言·数据库·mysql·mybatis
全栈工程师修炼指南6 小时前
DBA | SQL 结构化查询语言介绍与学习环境准备
数据库·sql·学习·dba
RationalDysaniaer7 小时前
MySQL时间类型
数据库·mysql
代码的余温8 小时前
MySQL三大存储引擎对比:InnoDB vs MyISAM vs MEMORY
数据库·mysql
扶风呀8 小时前
MySQL宝典
数据库·mysql
fatfishccc9 小时前
循序渐进学 Spring (上):从 IoC/DI 核心原理到 XML 配置实战
xml·java·数据库·spring·intellij-idea·ioc·di
你的电影很有趣9 小时前
lesson37:MySQL核心技术详解:约束、外键、权限管理与三大范式实践指南
数据库·mysql
爬山算法9 小时前
MySQL(191) 如何优化MySQL的磁盘I/O?
android·数据库·mysql
野犬寒鸦10 小时前
Java Stream API 中常用方法复习及项目实战示例
java·服务器·开发语言·数据库
专注VB编程开发20年10 小时前
c#,vb.net全局多线程锁,可以在任意模块或类中使用,但尽量用多个锁提高效率
java·前端·数据库·c#·.net