返回顶部
首页 > 资讯 > 数据库 >MySQL 中 datetime 和 timestamp 的区别与选择
  • 746
分享到

MySQL 中 datetime 和 timestamp 的区别与选择

2024-04-02 19:04:59 746人浏览 独家记忆
摘要

目录1 区别1.1 占用空间1.2 表示范围1.3 时区2 测试3 选择 Mysql 中常用的两种时间储存类型分别是datetime和 timestamp。如何在它们之间选

Mysql 中常用的两种时间储存类型分别是datetimetimestamp。如何在它们之间选择是建表时必要的考虑。下面就谈谈他们的区别和怎么选择。

1 区别

1.1 占用空间

类型 占据字节 表示形式
datetime 8 字节 yyyy-mm-dd hh:mm:ss
timestamp 4 字节 yyyy-mm-dd hh:mm:ss

1.2 表示范围

类型 表示范围
datetime '1000-01-01 00:00:00.000000' to '9999-12-31 23:59:59.999999'
timestamp '1970-01-01 00:00:01.000000' to '2038-01-19 03:14:07.999999'

timestamp翻译为汉语即"时间戳",它是当前时间到 Unix元年(1970 年 1 月 1 日 0 时 0 分 0 秒)的秒数。对于某些时间的计算,如果是以 datetime 的形式会比较困难,假如我是 1994-1-20 06:06:06 出生,现在的时间是 2016-10-1 20:04:50 ,那么要计算我活了多少秒钟用 datetime 还需要函数进行转换,但是 timestamp 直接相减就行。

1.3 时区

timestamp 只占 4 个字节,而且是以utc的格式储存, 它会自动检索当前时区并进行转换。

datetime以 8 个字节储存,不会进行时区的检索.

也就是说,对于timestamp来说,如果储存时的时区和检索时的时区不一样,那么拿出来的数据也不一样。对于datetime来说,存什么拿到的就是什么。

还有一个区别就是如果存进去的是NULL,timestamp会自动储存当前时间,而 datetime会储存 NULL。

2 测试

我们新建一个表

插入数据

查看数据,可以看到存进去的是NULLtimestamp会自动储存当前时间,而 datetime会储存NULL

把时区修改为东 9 区,再查看数据,会会发现 timestamp datetime 多一小时

如果插入的是无效的呢?假如插入的是时间戳

结果是0000-00-00 00:00:00,根据官方的解释是插入的是无效的话会转为 0000-00-00 00:00:00,而时间戳并不是mysql有效的时间格式。

那么什么形式的可以插入呢,下面列举三种

//下面都是 Mysql 允许的形式,MySQL 会自动处理
2016-10-01 20:48:59
2016#10#01 20/48/59
20161001204859

3 选择 

如果在时间上要超过linux时间的,或者服务器时区不一样的就建议选择 datetime

如果是想要使用自动插入时间或者自动更新时间功能的,可以使用timestamp

如果只是想表示年、日期、时间的还可以使用 yeardatetime,它们分别占据 1、3、3 字节,而datetime就是它们的集合

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

您可能感兴趣的文档:

--结束END--

本文标题: MySQL 中 datetime 和 timestamp 的区别与选择

本文链接: https://lsjlt.com/news/136724.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL 中 datetime 和 timestamp 的区别与选择
    目录1 区别1.1 占用空间1.2 表示范围1.3 时区2 测试3 选择 MySQL 中常用的两种时间储存类型分别是datetime和 timestamp。如何在它们之间选...
    99+
    2024-04-02
  • MySQL中datetime与timestamp有什么区别
    这期内容当中小编将会给大家带来有关MySQL中datetime与timestamp有什么区别,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。  相同  显示  TIMEST...
    99+
    2024-04-02
  • MySQL 5.6中timestamp和datetime区别有哪些
    小编给大家分享一下MySQL 5.6中timestamp和datetime区别有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧...
    99+
    2024-04-02
  • MySQL中datetime和timestamp的区别及使用详解
    一、MySQL中如何表示当前时间? 其实,表达方式还是蛮多的,汇总如下: CURRENT_TIMESTAMP CURRENT_TIMESTAMP() NOW() LOCALTIME LOCALTIME() ...
    99+
    2024-04-02
  • MySQL DATETIME 和 TIMESTAMP 数据类型有什么区别?
    两种数据类型都以“YYYY-MM-DD HH:MM:SS”格式存储数据,并包含日期和时间。尽管有这些相似之处,但它们还是有以下区别 -范围 - 日期时间数据类型支持 1000 之间的日期和时间-01-01 00:00:00 和 9999-1...
    99+
    2023-10-22
  • MySQL 中 DATETIME 和 TIMESTAMP 时间类型的区别及使用场景
    MySQL的日期类型简介 在 MySQL 中有两种存储时间的数据类型 DATETIME 和 TIMESTAMP,它们在数据库实际应用中,各有各的优势和劣势。 一. DATETIME 和 TIMESTAMP 的相同点 两个数据类型存储时...
    99+
    2023-09-01
    mysql sql 数据库
  • mysql中 datatime与timestamp的区别说明
    mysql中有三种日期类型: date(年-月-日) create table test(hiredate date); datetime(日期时间类型) create table test(hiredate dat...
    99+
    2022-05-27
    mysql datatime timestamp
  • mysql中timestamp和datetime怎么使用
    在MySQL中,timestamp和datetime都是用来存储日期和时间的数据类型,但它们在存储和使用上有一些区别。 datet...
    99+
    2024-04-17
    mysql
  • mysql中datatime与timestamp有什么区别
    这篇文章主要介绍了mysql中datatime与timestamp有什么区别,编程网小编觉得不错,现在分享给大家,也给大家做个参考,一起跟随编程网小编来看看吧!mysql中有三种日期类型:date(年-月-日)create table te...
    99+
    2023-06-06
  • mysql中datetime和timestamp的作用是什么
    本篇文章给大家分享的是有关mysql中datetime和timestamp的作用是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 DAT...
    99+
    2024-04-02
  • date和timestamp 的区别
    在数据库中,date和timestamp是两种不同的数据类型,用于存储日期和时间信息。1. date类型:date类型用于存储日期信...
    99+
    2023-09-23
    date
  • oracle中date和timestamp区别
    oracle 中 date 仅存储日期部分,精确到天,而 timestamp 存储日期和时间部分,精确到微秒,并且可以存储时区偏移量。它们在存储空间、范围和格式上也有区别。最佳做法是根据...
    99+
    2024-05-03
    oracle
  • Mysql中有关Datetime和Timestamp的使用总结
    目录一、MySQL中如何表示当前时间?二、关于TIMESTAMP和DATETIME的比较TIMESTAMP和DATETIME的相同点:TIMESTAMP和DATETIME的不同点:三...
    99+
    2024-04-02
  • mysql中date和datetime的区别是什么
    在MySQL中,DATE和DATETIME都是用于存储日期和时间信息的数据类型,但它们之间有一些区别: DATE类型存储日期信息,...
    99+
    2024-04-09
    mysql
  • MySQL之DATETIME与TIMESTAMP的时间精度问题
    目录datetime与timestamp时间精度问题默认时间精度与最大时间精度更改数据库中所有指定字段的类型的存储过程(用于修正时间精度)mysql中选datetime还是timestamp呢?1. 基本区别2. 其他特...
    99+
    2023-02-23
    MySQL DATETIME MySQL TIMESTAMP MySQL时间精度
  • Swoole和Workerman的区别与选择,对PHP与MySQL的性能影响
    随着互联网的发展,高并发处理成为了一个重要的问题,特别是对于一些大型的互联网应用来说,如何处理高并发成为了一种挑战。在这种情况下,Swoole和Workerman这两个PHP扩展应运而生。Swoole和Workerman都是针对PHP的高性...
    99+
    2023-10-21
    swoole 性能影响 Workerman 关键词:
  • 详解MySQL中timestamp和datetime时区问题导致做DTS遇到的坑
    目录MySQL中如何表示当前时间?结论验证坑MySQL中如何表示当前时间? 其实,表达方式还是蛮多的,汇总如下: Data T...
    99+
    2024-04-02
  • datetime与smalldatetime之间的区别
    datetime和smalldatetime都是SQL Server中的日期和时间类型,它们之间的区别如下:1. 存储范围:date...
    99+
    2023-09-14
    datetime
  • CSS中的id选择器与class选择器的区别是什么
    本篇内容主要讲解“CSS中的id选择器与class选择器的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS中的id选择器与class选择器的区别是...
    99+
    2024-04-02
  • MySQL之DATETIME与TIMESTAMP的时间精度问题怎么解决
    本篇内容介绍了“MySQL之DATETIME与TIMESTAMP的时间精度问题怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!date...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作