最近在做一个项目 项目中 不同的小伙伴同时在不同的业务模块中用到了date,datetime,timestamp这三个类型 特别是datetime,timestamp这两个 如果不能理解到位  其实很容易滥用 ,相信很多小伙伴也是随意用 反正上线也出不了事。但现在不出事不一定代表未来不会出事 既然存在这两种类型  那想必必然存在差异,笔者接下来根据实际业务场景的不同分析一下 这三种类型的正确使用,也会谈到细微的各自区别。

datet类型最好理解 它支持的格式为“YYYY-MM-DD” 所以如果你的应用 无须精确到秒 最多只需精确到天话是可以使用这个类型的。

就拿笔者最近在做的一个电商项目 有一张网点库存表

这张表的作用是每个销售网点关于共同商品(这张表没有对应商品ID因为笔者做的这个项目商品是固定的由政府统一协调)这张表每天会根据实际情况 每个网点每天上线不同库存数据

那stock_date这个字段就可以设置为date类型了  因为业务场景只要精确到天就行。

那像datetime,timestamp这两个字段  先讲下他们的相同点和不同点

  • 相同点:两者都可用来表示YYYY-MM-DD HH:MM:SS[.fraction]类型的日期
  • 不同点:

    1)对于TIMESTAMP,它把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储。查询时,将其又转化为客户端当前时区进行返回。

    而对于DATETIME,不做任何改变,基本上是原样输入和输出.

这就有点意思了 timestamp这个字段 通过不同的时区  会自动适应当前市区的值 像笔者只有有一个项目 部署在摩洛哥  但数据库又是共享同一个  如果国内的数据 按照国内的时间生成后  但在摩洛哥显示因为有时间差 显示的内容从那边的角度看是会有歧义的

  2)取值范围

    datetime取值范围:0000-00-00 00:00:00 ~ 9999-12-31 23:59:59;

    timestamp取值范围:1970-01-01 08:00:01!2038-01-19 11:14:07

不过timestamp从取值范围来看 limit居然只能到2038年 也是蛮坑的

最后查看了网上很多资料说timestamp会自更新 我实际在自己的环境试了一下

其实还是跟

`时间字段` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',

如果没有ON UPDATE xx信息 就算你update了其他字段 这个字段也不会自动更新值 datetime也是如此 加上 就会自动更新

在客户端比如Navicat 等类似工具上 就是勾选这个

效果 这个时候 就算你没有主动更新这个字段 这个字段还是会实时更新当前值 时候那种update_time  能简单看出某条记录的最晚操作时间在生产环境中

好了 关于这三个字段的比较再结合生产场景就介绍到这里

Mysql 实战关于date,datetime,timestamp类型使用的更多相关文章

  1. 转 数据库中的 date datetime timestamp的区别

    转 数据库中的 date datetime timestamp的区别 DATETIME, DATE和TIMESTAMP类型是相关的.本文描述他们的特征,他们是如何类似的而又不同的. DATETIME类 ...

  2. 简述MySQL数据库中的Date,DateTime,TimeStamp和Time类型

    DATETIME类型 定义同时包含日期和时间信息的值时.MySQL检索并且以'YYYY-MM-DD HH:MM:SS'格式显示DATETIME值,支持的范围是'1000-01-01 00:00:00' ...

  3. MySQL中DATETIME、DATE和TIMESTAMP类型的区别

    一.TIMESTAMP 显示格式:YYYY-MM-DD HH:MM:SS 时间范围:[ '1970-01-01 00:00:00'到'2037-12-31 23:59:59'] TIMESTAMP D ...

  4. Mysql 5.7 系列命令 timestamp类型的字段不能设默认值为“0000-00-00 00:00:00” 要设为`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新',

    一.show相关命令语句 1.查看表的索引 show index from tbl_name; 1 table:表名 non_unique:索引是非唯一的?.0否,唯一是索引的.1是,是非唯一索引.( ...

  5. oracle数据库的date和timestamp类型

    1.date类型存储数据的格式为年月日时分秒,可以精确到秒 timestamp类型存储数据的格式为年月日时分秒,可以精确到纳秒(9位) 2.date类型 Date类型的数据可以显示到年月日,也可以显示 ...

  6. MySQL中Date,DateTime,TimeStamp和Time的比较

    名称 显示格式 显示范围 应用场景 后台取值 Date YYYY-MM-DD 1601-01-01 到 9999-01-01 当业务需求中只需要精确到天时, 可以用这个时间格式 @JSONField( ...

  7. date,datetime,timestamp 的区别

    date 表示年月日,如YY-MM-DD datetime 表示年月日和时间信息,如YY-MM-DD HH:MM:SS datestamp 和datetime表示的信息相同,但时间范围不同 时间范围 ...

  8. mysql建库DATETIME、DATE 和 TIMESTAMP区别

    http://blog.sina.com.cn/s/blog_5f7b8c2c0100tf6t.html     DATETIME.DATE 和 TIMESTAMP 类型是相似的.本篇描述了它们的特性 ...

  9. MySQL问题记录——定义timestamp类型的数据

    MySQL问题记录——定义timestamp类型的数据 摘要:本文主要记录了在使用MySQL的过程中定义timestamp类型数据时遇到的问题以及解决方案. 问题重现 在Windows环境下安装MyS ...

随机推荐

  1. Python中__new__方法为什么有人说是构造方法?有什么作用?

    __new__方法是Python新式类引入的,通常用于控制生成一个新实例的过程.它是类级别的静态方法,是在创建实例对象前执行,如果自定义类中没有重写该方法,则Python自动调用父类的方法,当所有父类 ...

  2. 第8.23节 Python中使用sort/sorted排序与“富比较”方法的关系分析

    一. 引言 <第8.21节 Python中__lt__.gt__等 "富比较"("rich comparison")方法用途探究>和<第8.2 ...

  3. CobaltStrike 生成office宏病毒进行钓鱼攻击

    关于WORD宏: 在百度百科上有: 宏是一个批量处理程序命令,正确地运用它可以提高工作效率.微软的office软件允许用户自己编写,叫VBA的脚本来增加其灵活性,进一步扩充它的能力.如完打开word文 ...

  4. [RoarCTF2019]黄金6年

    嘶吼CTF的杂项题 这道题目比较简单 下载之后是一个mp4文件,黄金六年,害,亲爱的热爱的里面的梗 使用010 Editor打开视频文件,发现最下面有base64编码 UmFyIRoHAQAzkrXl ...

  5. Python 装饰器(装饰器的简单使用)

    简单介绍了装饰器的一些基本内容,包含定义.本质.原则.如何实现. 1.装饰器的定义 定义:一种增加函数功能的简单方法,可以快速地给不同的函数或类插入相同的功能. 简单点就是:高阶函数+嵌套函数 -&g ...

  6. 【面试】关于get和post两种方法的不同。

    最近在面试题和笔试题中经常会看到这道题,所以打算系统的整理一下. 一般标准的答案是这样的. GET在浏览器回退时是无害的,而POST会再次提交请求(浏览器应该告知用户数据会被重新提交). GET产生的 ...

  7. 写入到csv文件的两种方式(pd.DaaFrame 和 csv.writerow)

    第一种: pd.DataFrame to_csv tmp = pd.DataFrame({"id":[str(i) for i in range(len(test_x))],f&q ...

  8. es6语法糖

    ES6为一些已有的功能提供了非破坏性更新,这类新语法能做的事情其实用ES5也可以做,只是会稍微复杂一些,称之为语法糖. 对象属性的简洁表示法 声明的对象中包含若干属性,其属性值由变量表示,且变量名和属 ...

  9. java性能问题排查提效脚本工具

    在性能测试过程中,往往会出现各种各样的性能瓶颈.其中java常见瓶颈故障模型有cpu资源瓶颈:文件IO瓶颈:网络IO瓶颈:内存资源瓶颈:资源消耗不高程序本身执行慢等场景模型. 如何快速定位分析这些类型 ...

  10. Fisco Bcos学习资料连接

    大牛博客:http://m.blog.csdn.net/sportshark FISCO BCOS学习资料索引;http://kb.bsnbase.com/webdoc/view/Pub4028813 ...