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

相关推荐
东软吴彦祖12 分钟前
包安装利用 LNMP 实现 phpMyAdmin 的负载均衡并利用Redis实现会话保持nginx
linux·redis·mysql·nginx·缓存·负载均衡
慵懒的猫mi1 小时前
deepin分享-Linux & Windows 双系统时间不一致解决方案
linux·运维·windows·mysql·deepin
小高不明2 小时前
仿 RabbitMQ 的消息队列2(实战项目)
java·数据库·spring boot·spring·rabbitmq·mvc
DZSpace2 小时前
使用 Helm 安装 Redis 集群
数据库·redis·缓存
张飞光2 小时前
MongoDB 创建集合
数据库·mongodb
Hello Dam2 小时前
接口 V2 完善:基于责任链模式、Canal 监听 Binlog 实现数据库、缓存的库存最终一致性
数据库·缓存·canal·binlog·责任链模式·数据一致性
张飞光2 小时前
MongoDB 创建数据库
数据库·mongodb·oracle
摘星怪sec3 小时前
【漏洞复现】|方正畅享全媒体新闻采编系统reportCenter.do/screen.do存在SQL注入
数据库·sql·web安全·媒体·漏洞复现
基哥的奋斗历程3 小时前
学到一些小知识关于Maven 与 logback 与 jpa 日志
java·数据库·maven
苏-言3 小时前
MyBatis最佳实践:提升数据库交互效率的秘密武器
数据库·mybatis