mysql—mysql中如何存储日期数据

mysql—mysql中如何存储日期数据

一.DateTime类型

1,特点
1)以YYYY-MM-DD HH:MM:SS[.fraction]格式存储日期时间,在mysql5.6前可以只能存储到秒,在5.6后能存储到微秒
2)datetime类型与时区无关,占用8个字节的存储空间
3)时间范围公元1000-01-01 00:00:00到9999-12-31 23:59:59,存储的时间范围非常广

二.timestamp类型

1.特点:

1)存储了由格林尼治时间1970年1月1日到当前时间的秒数,即时间戳, 以YYYY-MM-DD HH:MM:SS.[.fraction]的格式显示,占用4个字节,实际上是以int类型来存储的
2)时间范围1970-01-01到2038-01-19
3)timestamp类型显示依赖于所指定的时区
4)在行的数据修改时可以自动修改timestamp列的值 ,这个功能非常的有用,在本行的任何数据被修改时,都会自动修改这个时间,经常使用这个功能来标识每行最后被修改的时间,需要注意的是,如果一张表中有两个列是timestamp,那默认情况下只有第一列会自动更新,其他列不会

三.演示

1.关于时区的区别

1)首先在一张表中,存储两个列的值,第一列是datetime类型,第二列是timestamp类型,用相同时区存进去
在这里插入图片描述
2)修改当前数据库的时区,再次查询

在这里插入图片描述
3)结论:第一列的时间没有随着时区的变化而变化,第二列就变了,说明datetime与时区无关,timestamp会随着时区的变化而变化

四.date类型

1.特点

1)只能存储日期,不能存储时间
2)占用的字节数比使用字符串(8个字节),datetime(8个字节),int(4个字节) 存储要少,使用date类型只需要3个字节
3)使用date类型还可以利用日期时间函数进行日期之间的计算
4)存储的时间范围:公元1000-01-01到9999-12-31之间的日期

五.time类型

用于存储时间的数据,格式为HH:MM:SS

六.注意事项

1.不要使用字符串类型来存储日期时间的数据

理由:
1)日期时间类型通常比字符串占用的存储空间小
2)日期时间类型在进行查找过滤时可以利用日期来进行对比
3)日期时间类型还有着丰富的处理函数,可以方便的对日期类型进行日期的计算

2.使用int存储日期时间不如使用timestamp类型,使用时更加方便,无需转换

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/2341.html原文链接:https://javaforall.net

(1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • webpack(5)webpack处理css文件[通俗易懂]

    webpack(5)webpack处理css文件[通俗易懂]css文件处理-准备工作(以下项目配置都是基于上一篇webpack(4)的基础上)在项目开发中,我们必然需要添加很多的样式,而样式我们往往写到一个单独的文件中。这里我们就在src目录中创建一个n

    2022年7月30日
    7
  • 阿里云图片存储_阿里云oss价格

    阿里云图片存储_阿里云oss价格oss目的:1.图片和音视频等应用的海量存储2.网页或者移动应用的静态和动态资源分离利用BGP带宽,OSS可以实现超低延时的数据直接下载。也可以配合阿里云CDN加速服务3.云端数据处理比如图片的裁剪,缩放,鉴黄等oss使用:1.http://www.aliyun.com/product/登录阿里云,开通oss图片存储(如果你还没有账号需要先注册获取AccessKey…

    2025年7月6日
    3
  • 如何在docker容器中运行docker命令

    如何在docker容器中运行docker命令欢迎关注个人微信公众号:devopscube前言​Docker作为目前炙手可热的容器运行环境,越来越多的应用到应用的部署当中。这种一次打包,随处运行的模式备受好评,也节约了很多环境配置的麻烦。很多软件运行时都提供了docker的镜像部署方式,我们可以看到常用的组件,开源的项目,都会提供docker镜像,或者用于打包镜像的dockerfile。所以Docker已然成为了软件…

    2022年5月17日
    156
  • VS2010过期密钥「建议收藏」

    VS2010过期密钥「建议收藏」VS2010 旗舰版可用Key:YCFHQ-9DWCY-DKV88-T2TMH-G7BHP

    2022年6月6日
    30
  • QueueUserWorkItem_thread.join()

    QueueUserWorkItem_thread.join()代码:ThreadPool.SetMaxThreads(100,100);ThreadPool.QueueUserWorkItem((obj)=>{MessageBox.Show(“执行线程中的代码”);});Thread.Sleep(1000);intn=8;ThreadPool.QueueUserWorkItem((obj…

    2022年9月24日
    3
  • java属于什么语言_java是什么语言 ?是什么系统?

    java属于什么语言_java是什么语言 ?是什么系统?一开始了解计算机这个专业,大家都会经常性听到Java这一词语,那么大家有真正的了解什么是Java吗?Java是属于什么语言呢?JAVA语言,其实是混合型的一种语言,Java语言是一个支持网络计算的面向对象程序设计语言。Java语言吸收了Smalltalk语言和C++语言的优点。下面来介绍一些Java的主要特征:1)Java语言是简单的。Java语言的语法与C语言和C++语言相似,这让很多程序员可…

    2022年7月8日
    21

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号