美文网首页MySQL
MySQL中不同时间类型的区别

MySQL中不同时间类型的区别

作者: djz0306 | 来源:发表于2019-06-23 11:50 被阅读26次

在 MySQL 中专门有日期时间类型可以用来存储日期和时间。包括:date, time, datetime, timestamp, year 几种常用类型

date

date 型是按照常见的年-月-日格式存储日期。以下表为例,整理这部分内容。

birthday表.jpg

插入一条数据,例如:

insert into birthday values ('闫妮', '1971-3-10');

插入后结果如图:

插入date类型数据.jpg

date的存储范围一般为:1000-01-01到9999-12-31,不过在最新版本中即使小于1000年也不会报错了。在填写月日时,如果只有一位数,例如3月,会自动填充0。当格式不匹配,例如只输入了年月没有日时就会被修改成0000-00-00

time

在原来的表基础上增加一列签到列,结构如图:

增加time列.jpg

插入一条数据:

insert into birthday values ('姜超', '1975-03-19', '10:29:10');
插入time类型数据.jpg

范围为-838:59:59-838:59:59,如果输入的格式错误,也会变成00:00:00;

datetime

datetime 就是日期时间类型,将 date 和 time 结合起来。

增加datetime类型并插入数据.jpg

当然,也可以使用 char 类型来存储,但是 datetime 只用8个字节,而用 char 则需要19个字节

timestamp

timestamp 和 datetime 比较像,默认显示格式相同,宽度为19个字符,它可以设置成默认值 CURRENT_TIMESTAMP,这样在每次插入数据的时候就提取当前的时间,且可以随着时区变化而变化

year

在原来的表上增加一列 year 类型的数据,格式可以是 YYYY 也可以是 YY,但是不推荐后者。year 只有 1 个字节,所以只有 255 个跨度(含一个0000),范围为1901到2155年,不符合的值都会变成0000。如下所示:

插入 year 型数据.jpg

如果只填写 2 位,范围位 [00-69] 则会在前面加上 20,如果是 [70-99] 则会在前面加上19。2 位总的范围为:1970-2069,所以不推荐这么写

总结

类型 说明 标准格式 范围 存储需求
date 日期 YYYY-MM-DD 1000-01-01到9999-12-31 3字节
time 时间 HH:MM:SS -839:59:59到839:59:59 3字节
datetime 日期时间 YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00到<br />9999-12-31 23:59:59 8字节
timestamp 时间戳 YYYY-MM-DD HH:MM:SS 1970-01-01 00:00:00到<br />2038-01-19 03:14:07 4字节
year 年份 YYYY / YY(不推荐) 1901到2115 1字节

相关文章

  • MySQL中不同时间类型的区别

    在 MySQL 中专门有日期时间类型可以用来存储日期和时间。包括:date, time, datetime, ti...

  • 2018-11-01

    关于mysql数据库字段类型,以及javabean字段类型 数据库中类型 int和integer类型相同,没有区别...

  • 数据库建立时常见问题【不断更新】

    一、字段类型的选择: MySQL中INT、BIGINT、SMALLINT、TINYINT的区别: 1.BIT[M]...

  • MYSQL记录

    简单描述MySQL中,索引、主键、唯一索引、联合索引的区别,对数据库的性能有什么影响? MySQL索引的基础和类型...

  • mysql 字段类型默认长度(待完善)

    WHAT:在mysql中创建字段时,涉及到不同的数据类型,每种不同的类型根据需求的不同也会要修不同的长度,那么my...

  • MySQL timestamp自动更新时间分享

    MySQL timestamp自动更新时间分享 在mysql中timestamp数据类型是一个比较特殊的数据类型,...

  • mysql 时间

    MySQL now() 只能精确到秒。 MySQL 中也没有存储带有毫秒、微秒的日期时间类型。 mysql jso...

  • MySQL与PostgreSQL的时间类型

    1. MySQL的时间类型 MySQL(5.7)的Timestamp与DateTime类型都是存储时间的数据类型。...

  • 2020 -7-23

    mysql 练习题1、mysql中的varchar 和 char 有什么区别?二者存储长度不同,char 是不可变...

  • 操作Blob类型字段

    MySQL的Blob类型 在MySQL中Blob是一个二进制类型对象,是一个可以存储大量数据的容器,它能容纳不同大...

网友评论

    本文标题:MySQL中不同时间类型的区别

    本文链接:https://www.haomeiwen.com/subject/mkeiqctx.html