探讨MySQL 保存日期用哪种数据类型

 更新时间:2023年08月25日 11:43:47   作者:一户董  
在设计数据库表时不可避免的需要用到时间类型,到底选择那种数据类型来表示时间是一个值的讨论的问题,这篇文章主要介绍了MySQL保存日期用哪种数据类型,需要的朋友可以参考下

写在前面

在设计数据库表时不可避免的需要用到时间类型,到底选择那种数据类型来表示时间是一个值的讨论的问题,本文就一起来看下!

1:能用哪些数据类型

1:字符串:不要用,占用空间大,至少需要19个字节,且无法使用日期相关函数
2:Datetime,可考虑
3:Timestamp,可考虑
4:整数,可考虑

1.1:字符串

最好不要使用,占用空间大,且无法使用日期相关函数处理。

1.2:Datetime

与时区无关,保存多少就是多少,最大表示9999年,占用空间5~8字节。

1.3:Timestamp

与时区有关,占用空间4~7字节,最大表示到2038年,且在所在行更新时,该字段会自动更新为最后一次更新的时间,像"修改时间"这类标识数据行修改时间的列可考虑选择Timestamp数据类型,另外如果需要时区信息的话,也可以考虑使用该数据类型。

下面看下时区相关测试:

查看当前时区

在这里插入图片描述

创建数据

CREATE TABLE `time_zone_test` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `date_time` datetime DEFAULT NULL,
  `time_stamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO time_zone_test(date_time,time_stamp) VALUES(NOW(),NOW());

查看数据

在这里插入图片描述

修改时区为东7区在查看时间

SET time_zone='+7:00';

在这里插入图片描述

可以看到timestamp的字段在原来东八区的基础上减了一个小时。

1.4:整数值

占用4个字节,对占用空间敏感的业务,可考虑使用,然后在程序中做转换即可,或者使用MySQL函数转换,如下使用MySQL函数转换:

在这里插入图片描述

最后看下对比:

在这里插入图片描述

到此这篇关于MySQL 保存日期用哪种数据类型的文章就介绍到这了,更多相关MySQL 保存日期内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySql 8.0.16-win64 安装教程

    MySql 8.0.16-win64 安装教程

    本文通过图文并茂的形式给大家介绍了MySql 8.0.16-win64 安装教程 ,需要的朋友可以参考下
    2019-06-06
  • MySQL与PHP的基础与应用专题之内置函数

    MySQL与PHP的基础与应用专题之内置函数

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,本系列将带你掌握php与mysql的基础应用,本篇MySQL的内置函数开始
    2022-02-02
  • mysql数据库的五种安装方式总结

    mysql数据库的五种安装方式总结

    这篇文章主要介绍了五种在不同操作系统上安装和配置MySQL的方法,包括Windows版本安装、yum仓库安装、二进制本地安装、容器平台安装以及源码部署,每种方法都介绍的非常详细,需要的朋友可以参考下
    2025-03-03
  • MySQL数据库如何克隆(带脚本)

    MySQL数据库如何克隆(带脚本)

    这篇文章主要介绍了MySQL数据库如何克隆(带脚本)问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • MySQL的查询缓存机制基本学习教程

    MySQL的查询缓存机制基本学习教程

    这篇文章主要介绍了MySQL的查询缓存机制基本学习教程,默认针对InnoDB存储引擎下来将,需要的朋友可以参考下
    2015-11-11
  • MySQL数据库中sql表设计的注意事项

    MySQL数据库中sql表设计的注意事项

    实际开发中一个项目通常需要很多张表才能完成,这篇文章主要给大家介绍了关于MySQL数据库中sql表设计的注意事项,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-05-05
  • MySQL间隙锁解决幻读问题

    MySQL间隙锁解决幻读问题

    本文主要介绍了MySQL间隙锁解决幻读问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • 分析Mysql表读写、索引等操作的sql语句效率优化问题

    分析Mysql表读写、索引等操作的sql语句效率优化问题

    今天小编就为大家分享一篇关于分析Mysql表读写、索引等操作的sql语句效率优化问题,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • Mapper sql语句字段和实体类属性名字有什么关系

    Mapper sql语句字段和实体类属性名字有什么关系

    这篇文章主要介绍了Mapper sql语句字段和实体类属性名字有什么关系,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • mysql唯一性约束unique代码示例

    mysql唯一性约束unique代码示例

    这篇文章主要介绍了mysql唯一性约束unique的相关资料,需要的朋友可以参考下
    2025-11-11

最新评论