ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

MySQL之时间戳(DateTime和TimeStamp)

2026/8/15 12:07:25 拓冰建站 浏览量
MySQL之时间戳(DateTime和TimeStamp)

MySQL之时间戳(DateTime和TimeStamp)

文章目录:

  • MySQL之时间戳(DateTime和TimeStamp)
    • 一、DateTime类型
    • 二、TimeStamp类型
    • 三、DateTime和TimeStamp的区别

当插入数据时,需要自动记录一个时间时候,现有两种主流的解决方案。

一、DateTime类型

建立一个表名为auto_time的表,加入一个自增长的id属性和datetime属性。

 create table auto_time(id int key auto_increment,time datetime);

再使用insert命令继续向datetime属性插入数据

 insert into auto_time(time) values(now());

打印出auto_time的信息,即可得到YYYY-MM-DD HH:MM:SS的时间信息
打印信息

二、TimeStamp类型

TimeStamp的使用方法和DateTime基本一致。
依旧使用auto_time建立,使用alter table命令加入TimeStamp字段。

 alter table auto_time add column time1 timestamp;

使用insert命令加入属性。

insert into auto_time(time1) values(now());

最后使用select命令查看内容
在这里插入图片描述

三、DateTime和TimeStamp的区别

比较DateTimeTimeStamp
储存空间8 byte4 byte
时间范围1000-01-01 00:00:00到9999-12-31 23:59:591970-01-01 00:00:01 UTC到2038-01-19 03:14:07 UTC
跨时区根据时区自动转换

现同时输入数据进行比较

insert into auto_time(time,time1) values(now(),now());

在这里插入图片描述
现在使用set命令将时区更改为UTC+0:00,再查询auto_time

set time_zone='+0:00';

在这里插入图片描述
从图中可以看出datetime的时间并没有发生变化,而timestamp的进行了自动的转化。