探讨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 保存日期内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 常用的SQL例句 数据库开发所需知识

    常用的SQL例句 数据库开发所需知识

    常用的SQL例句全部懂了,你的数据库开发所需知识就够用了
    2011-11-11
  • SQL面试题:求时间差之和(有重复不计)

    SQL面试题:求时间差之和(有重复不计)

    这篇文章主要介绍了SQL面试题:求时间差之和(有重复不计),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • MySQL解决数据导入导出含有外键的方案

    MySQL解决数据导入导出含有外键的方案

    这篇文章主要介绍了MySQL解决数据导入导出含有外键的情况,文中通过图文结合的方式给大家讲解的非常详细,对大家解决问题有一定的帮助,需要的朋友可以参考下
    2024-11-11
  • Mysql 查询患某种疾病的患者语句

    Mysql 查询患某种疾病的患者语句

    select 语句的作用是根据输入的条件返回指定的数据结果,select 的语法可以有很多种查询的组合,基本上能够满足我们所有的查询数据需求,这篇文章主要介绍了Mysql 查询患某种疾病的患者,需要的朋友可以参考下
    2022-10-10
  • MGR集群搭建及配置过程

    MGR集群搭建及配置过程

    MGR是MySQL数据库未来发展的一个重要方向,本文重点给大家介绍MGR集群搭建过程分析,对MGR集群搭建相关知识感兴趣的朋友一起看看吧
    2022-02-02
  • CentOS系统下如何设置mysql每天自动备份

    CentOS系统下如何设置mysql每天自动备份

    备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。本文将详细介绍在CentOS系统下如何设置mysql每天自动备份,有需要的朋友们下面来一起看看吧。
    2016-10-10
  • MySQL数据表使用的SQL语句整理

    MySQL数据表使用的SQL语句整理

    这篇文章主要介绍了MySQL数据表使用的SQL语句整理,文章基于MySQL的相关资料展开举例说明,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • ‌MySQL中‌between and的基本用法‌操作方法

    ‌MySQL中‌between and的基本用法‌操作方法

    本文主要介绍了MySQL中BETWEEN AND操作符的基本用法,包括数值查询和时间范围查询,同时还详细解释了NOT BETWEEN AND的使用方法,并通过实例进行了详细的演示,其中,BETWEEN AND可以用于数值、日期等类型的字段,包括边界值
    2024-10-10
  • MySQL如何修改字段的默认值和空值

    MySQL如何修改字段的默认值和空值

    这篇文章主要介绍了MySQL如何修改字段的默认值和空值,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • Mysql数据库命令大全

    Mysql数据库命令大全

    mysql命令大家经常会用到,但是很少有朋友整理吧,最近项目不多,抽个时间把mysql数据库命令总结给大家,需要的朋友可以参考下
    2015-09-09

最新评论