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的进行了自动的转化。

相关推荐
-SGlow-2 小时前
MySQL相关概念和易错知识点(2)(表结构的操作、数据类型、约束)
linux·运维·服务器·数据库·mysql
明月5663 小时前
Oracle 误删数据恢复
数据库·oracle
水瓶_bxt5 小时前
Centos安装HAProxy搭建Mysql高可用集群负载均衡
mysql·centos·负载均衡
♡喜欢做梦5 小时前
【MySQL】深入浅出事务:保证数据一致性的核心武器
数据库·mysql
遇见你的雩风5 小时前
MySQL的认识与基本操作
数据库·mysql
dblens 数据库管理和开发工具5 小时前
MySQL新增字段DDL:锁表全解析、避坑指南与实战案例
数据库·mysql·dblens·dblens mysql·数据库连接管理
weixin_419658315 小时前
MySQL的基础操作
数据库·mysql
不辉放弃6 小时前
ZooKeeper 是什么?
数据库·大数据开发
Goona_6 小时前
拒绝SQL恐惧:用Python+pyqt打造任意Excel数据库查询系统
数据库·python·sql·excel·pyqt
Olrookie7 小时前
若依前后端分离版学习笔记(三)——表结构介绍
笔记·后端·mysql