int

1. 占用4个字节

2. 建立索引之后,查询速度快

3. 条件范围搜索可以使用使用between

4. 不能使用mysql提供的时间函数

结论:适合需要进行大量时间范围查询的数据表

datetime

1. 占用8个字节

2. 允许为空值,可以自定义值,系统不会自动修改其值。

3. 实际格式储存(Just stores what you have stored and retrieves the same thing which you have stored.)

4. 与时区无关(It has nothing to deal with the TIMEZONE and Conversion.)

5. 可以在指定datetime字段的值的时候使用now()变量来自动插入系统的当前时间。

结论:datetime类型适合用来记录数据的原始的创建时间,因为无论你怎么更改记录中其他字段的值,datetime字段的值都不会改变,除非你手动更改它。

timestamp

1. 占用4个字节

2. 允许为空值,但是不可以自定义值,所以为空值时没有任何意义。

3. TIMESTAMP值不能早于1970或晚于2037。这说明一个日期,例如'1968-01-01',虽然对于DATETIME或DATE值是有效的,但对于TIMESTAMP值却无效,如果分配给这样一个对象将被转换为0。

4.值以UTC格式保存( it stores the number of milliseconds)

5.时区转化 ,存储时对当前的时区进行转换,检索时再转换回当前的时区。

6. 默认值为CURRENT_TIMESTAMP(),其实也就是当前的系统时间。

7. 数据库会自动修改其值,所以在插入记录时不需要指定timestamp字段的名称和timestamp字段的值,你只需要在设计表的时候添加一个timestamp字段即可,插入后该字段的值会自动变为当前系统时间。

8. 默认情况下以后任何时间修改表中的记录时,对应记录的timestamp值会自动被更新为当前的系统时间。

9. 如果需要可以设置timestamp不自动更新。通过设置DEFAULT CURRENT_TIMESTAMP 可以实现。

修改自动更新:

`field_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE

修改不自动更新

`field_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP

结论:timestamp类型适合用来记录数据的最后修改时间,因为只要你更改了记录中其他字段的值,timestamp字段的值都会被自动更新。(如果需要可以设置timestamp不自动更新)

TIME

只记录了一天中的时间。MySQL检索并且以"HH:MM:SS"格式显示TIME值。支持的范围是'00:00:00'到'23:59:59'

mysql中timestamp,datetime,int类型的区别与优劣相关推荐

  1. mysql timestamp json_mysql中timestamp,datetime,int类型的区别与优劣

    mysql中timestamp,datetime,int类型的区别与优劣 int 1. 占用4个字节 2. 建立索引之后,查询速度快 3. 条件范围搜索可以使用使用between 4. 不能使用mys ...

  2. mysql中tinyint和int类型

    mysql中确定了整型数据类型后,是不可变的,在硬盘中占用的字节数是一样的. 我们知道:tinyint一个字节 smallint 两个字节 MEDIUMINT三个字节 int 4个字节 BIGINT ...

  3. setTimeStamp()与setDate()区别 如何将java中Date存入mysql中的datetime中,字符串怎么转换为日期类型

    数据库 1.java.sql.Date 与 java.util.Date java.sql.Date是从java.util.Date中继承而来 假设 dates1(java.sql.Date)要赋值给 ...

  4. MYSQL中TIMESTAMP类型的默认值

    MYSQL中TIMESTAMP类型的默认值    MYSQL中TIMESTAMP类型可以设定默认值,就像其他类型一样. 1.自动UPDATE 和INSERT 到当前的时间: 表: ---------- ...

  5. mysql中from unixtime,mysql中FROM_UNIXTIME()和UNIX_TIMESTAMP()函数的区别

    摘要 腾兴网为您分享:mysql中FROM_UNIXTIME()和UNIX_TIMESTAMP()函数的区别,作业大师,智慧大学,优化大师,先游等软件知识,以及流星蝴蝶剑,升学指导网软件,承德大宗,q ...

  6. mysql中timestamp的自动生成与更新

    转自:mysql中timestamp的自动生成与更新 MYSQL中TIMESTAMP类型可以设定默认值,就像其他类型一样. 1.自动UPDATE 和INSERT 到当前的时间: 表: -------- ...

  7. MySQL中的日期时间类型与格式化方式

    [1]MySQL中的日期时间类型 MySQL中常用的几种时间类型有:date.datetime.time.year.timestamp 数据类型 占用字节 最小值 最大值 零值表示 date 4 10 ...

  8. MySQL中日期和时间类型

    https://www.cnblogs.com/wlzjdm/p/6953398.html 日期类型 MySql中关于日期的类型有Date/Datetime/Timestamp三种类型. 1.1 Da ...

  9. Mysql中bigint、int、mediumint、smallint 和 tinyint的取值范围

    Mysql中bigint.int.mediumint.smallint 和 tinyint的取值范围 引言 社区这边的业务就遇到过这个坑,由于是用的开源框架,很多表id的字段用的mediumint类型 ...

最新文章

  1. 【数据结构】顺序串的插入算法,删除算法,连接运算,顺序串求子串算法
  2. 数据中心成为生态系统向绿色氢经济转变的催化剂
  3. 打印机支持打印html页面吗,vue下调用打印功能,打印html页面
  4. SAP CRM Fiori应用如何启用Sales Office和Sales Group两个字段
  5. pyqt 界面关闭信号_木辛老师的编程课堂之Python和Qt实战慕课软件开发:增加关闭按钮...
  6. Spring Boot源码:SpringBootExceptionReporter
  7. 定制操作(传递函数或lambda表达式)
  8. 得具备点靠钱赚钱的能力
  9. Atitit  atiMail atiDns新特性 v2  q39
  10. NoSQL 数据库比较
  11. python扫描器编程_python编写简单端口扫描器
  12. matlab除法不对,matlab中除法的使用,错误使用 / 矩阵维度必须一致
  13. 面向对象的软件开发方法
  14. PLC扩展模块西门子smart200PLC扩展RS485modbus以太网模块
  15. KANBAN专题一:KANBAN管理的基本系统操作
  16. 脚下,梦开始的地方——七月总结
  17. 【大疆DJI】安卓开发实习历程- 0.前期准备到面试(HR电话初面+技术一面+技术二面/终面+OC)
  18. JS前端数据多条件筛选
  19. 服务端mysql数据存储设计_服务端开发指南与最佳实战 | 数据存储技术 | MySQL(03) 如何设计索引...
  20. 操作系统1—4章(最全复习题)

热门文章

  1. idea设置自定义代码模板(webstorm也是如此)
  2. hashmap put复杂度_集合类HashMap,HashTable,ConcurrentHashMap区别?
  3. Java键盘录入 Scanner
  4. break continue区别和用法_因为不知道break和contiue的核心区别,他在初试就被刷了下来...
  5. bci测试如何整改_EMC测试不合格,应该这样整改
  6. 为什么微软账号被暂时停用_微软向Win10 20H2推出测试版更新KB4586853修复多种已知问题...
  7. Python的类和对象
  8. 浏览器皮肤_和平精英返场皮肤投票时间是什么时候?投票地址入口介绍-手游资讯...
  9. html页面css代码写在哪里,HTML、CSS代码书写规范
  10. 零基础学sql要多久_零基础小白如何迈出学习SQL的第一步?文科生学SQL的心得