关于MySQL中datetime和timestamp的区别解析

 更新时间:2023年06月26日 15:09:58   作者:韩_师兄  
在MySQL中一些日期字段的类型选择为datetime和timestamp,那么对于这两种类型不同的应用场景是什么呢,这篇文章主要介绍了关于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类型,花更少的存储空间实现时间的存储.

到此这篇关于关于MySQL中datetime和timestamp的区别的文章就介绍到这了,更多相关mysql datetime和timestamp的区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解MySQL中的存取权限

    详解MySQL中的存取权限

    这篇文章主要介绍了详解MySQL中的存取权限,针对用户使用数据库权限分配的问题做出说明,需要的朋友可以参考下
    2015-07-07
  • mysql如何设置表中字段为当前时间

    mysql如何设置表中字段为当前时间

    这篇文章主要介绍了mysql如何设置表中字段为当前时间问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • 分享3个MySQL查询容易踩的坑

    分享3个MySQL查询容易踩的坑

    无论你是技术大佬,还是刚入行的小白,时不时都会踩到Mysql数据库的坑这篇文章主要给大家介绍了关于3个MySQL查询容易踩的坑,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • 在win10系统下安装Mysql 5.7.17图文教程

    在win10系统下安装Mysql 5.7.17图文教程

    因为想要在公司电脑上安装Mysql,于是到官网上下载了最新版本的Mysql-5.7.17,其实安装方法也很简单,下面小编把安装过程分享到脚本之家平台供大家参考
    2017-03-03
  • mysql5.7.23版本安装教程及配置方法

    mysql5.7.23版本安装教程及配置方法

    这篇文章主要介绍了mysql5.7.23版本安装教程及配置方法,需要的朋友可以参考下
    2018-11-11
  • MySQL中DATE_FORMAT()函数将Date转为字符串

    MySQL中DATE_FORMAT()函数将Date转为字符串

    时间、字符串、时间戳之间的互相转换很常用,下面这篇文章主要给大家介绍了关于MySQL中DATE_FORMAT()函数将Date转为字符串的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • 为什么在MySQL中不建议使用UTF-8

    为什么在MySQL中不建议使用UTF-8

    在本篇文章里小编给大家分享了一篇关于MySQL中不要使用UTF-8的相关文章,有兴趣的朋友们可以阅读参考下。
    2020-12-12
  • 浅谈sql连接查询的区别 inner,left,right,full

    浅谈sql连接查询的区别 inner,left,right,full

    下面小编就为大家带来一篇浅谈sql连接查询的区别 inner,left,right,full。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • MySQL数据库查看数据表占用空间大小和记录数的方法

    MySQL数据库查看数据表占用空间大小和记录数的方法

    这篇文章主要介绍了MySQL数据库查看数据表占用空间大小和记录数的方法,如果想知道MySQL数据库中每个表占用的空间、表记录的行数的话,可以打开MySQL的information_schema 数据库查询,本文就讲解查询方法,需要的朋友可以参考下
    2015-04-04
  • InnoDB中不同SQL语句设置锁的情况详解

    InnoDB中不同SQL语句设置锁的情况详解

    这篇文章主要介绍了InnoDB中不同SQL语句设置锁的情况详解,在Mysql中,锁定读、更新、删除操作通常会对SQL语句处理过程中扫描到的每条索引记录设置记录锁,需要的朋友可以参考下
    2024-01-01

最新评论