MySQL之时间戳(DateTime和TimeStamp)

MySQL之时间戳(DateTime和TimeStamp)

文章目录:

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

一、DateTime类型

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

sql 复制代码
 create table auto_time(
     id int key auto_increment,
     time datetime
     );

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

sql 复制代码
 insert into auto_time(time) values(now());

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

二、TimeStamp类型

TimeStamp的使用方法和DateTime基本一致。

依旧使用auto_time建立,使用alter table命令加入TimeStamp字段。

sql 复制代码
 alter table auto_time add column time1 timestamp;

使用insert命令加入属性。

sql 复制代码
insert into auto_time(time1) values(now());

最后使用select命令查看内容

三、DateTime和TimeStamp的区别

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

现同时输入数据进行比较

sql 复制代码
insert into auto_time(time,time1) values(now(),now());

现在使用set命令将时区更改为UTC+0:00,再查询auto_time

sql 复制代码
set time_zone='+0:00';

从图中可以看出datetime的时间并没有发生变化,而timestamp的进行了自动的转化。

相关推荐
计算机安禾4 分钟前
【数据库系统原理】第15篇:范式理论(上):1NF至BCNF——消除非主属性对码的传递依赖与部分依赖
数据库
哆啦A梦——16 分钟前
Ubuntu 虚拟机 Docker 与 MySQL 8.0.42 部署指南
mysql·ubuntu·docker
你的保护色21 分钟前
数据库第一章-基础知识学习
数据库·学习
倔强的石头_25 分钟前
《Kingbase护城河》——数据库卡顿急救手册:会话状态深度解析与“僵尸进程”排查实战
数据库
ManageEngine卓豪1 小时前
数据库可观测性:MySQL与Redis监控核心监控指标与全栈运维解决方案
数据库·redis·mysql·数据库性能·数据库监控
真实的菜1 小时前
Redis 从入门到精通(十四):Redis 7.x 新特性全解 —— 系列收官之作
数据库·redis·缓存
哭哭啼1 小时前
pgSql 事务篇
java·数据库·postgresql
霸道流氓气质1 小时前
从MySQL到云原生:全面解析阿里云PolarDB数据库及其与MySQL的核心差异
数据库·mysql·云原生
这个DBA有点耶2 小时前
时序数据库选型:吞吐、压缩与查询延迟的均衡之术
数据库·sql·架构·时序数据库·dba