数据库基础-时间

数据库基础-列类型-时间

知识补充

一个字符占三个字节(字节构成了字符)
char(m) 定长字符串:即使内容长度小于m,也会占用m的长度。
varchar(m) 变长字符串,m代表字符串的长度,最多可容纳65535个字节。即使内容小于m,会按照真实长度进行存储

跟时间有关的

datetime 输入输出时间原样,不做任何改变

timestamp 把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储,查询时,又将其转化为客户端当时的时区进行返回。(跟mysql时区设置有关)

代码练习
需求:创建一张表 L5 有三列id dt tt。其中id为主键自增且不能为空。
代码如下:

create table L5(
id int not null primary key auto_increment,
dt datetime,
tt timestamp
)default charset=utf8;

表创建成后,往其中插入值
在这里插入图片描述
执行代码

insert into L5(dt,tt) values("2025-11-11 11:11:44","2025-11-11 11:11:44");

看代码执行截图成功插入数据
在这里插入图片描述
(注意,所有代码都必须是在英文状态下输入)
执行默认查询

select * from L5

发现两种储存方式显示出来的值都一样。
在这里插入图片描述

但是 timestamp 跟mysql时区设置有关

首先查询以下mysql当中的时区

show variables like '%time_zone%';

在这里插入图片描述

改变一下time_zone的时区,
执行代码

set time_zone='+0:00'; --改成伦敦时区

在这里插入图片描述

再查询一下mysql当中的时区,发现时区产生变化
在这里插入图片描述

再次查询
在这里插入图片描述

时间相关的还有
date
YYYY-MM-DD(1000-01-01/9999-12-31) 年/月/日
time
HH-MM-SS(’-838:59:59’/‘838:59:59’) 时/分/秒

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值