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

相关推荐
forestsea26 分钟前
MySQL 调优
数据库·mysql·性能优化
林夕112029 分钟前
深入探讨MySQL:聚合函数、外键约束、多表查询及多对多关系管理
sql·mysql
松树戈1 小时前
PostgreSQL使用LIKE右模糊没有走索引分析&验证
数据库·postgresql
文牧之1 小时前
PostgreSQL 常用日志
运维·数据库·postgresql
TE-茶叶蛋2 小时前
Redis 原子操作
数据库·redis·缓存
Linux运维老纪2 小时前
Python文件操作及数据库交互(Python File Manipulation and Database Interaction)
linux·服务器·数据库·python·云计算·运维开发
Bruce_Liuxiaowei2 小时前
MCP Python SDK构建的**SQLite浏览器**的完整操作指南
数据库·python·sqlite
数据与人工智能律师2 小时前
正确应对监管部门的数据安全审查
大数据·网络·数据库·人工智能·区块链
瓯雅爱分享2 小时前
任务管理系统,Java+Vue,含源码与文档,科学规划任务节点,全程督办保障项目落地提效
java·mysql·vue·软件工程·源代码管理
2401_897930062 小时前
什么是非关系型数据库
数据库·oracle