[mysql基础文档]-12-数据类型之日期型

引言

本文介绍MySQL中常见的几种日期类型。

文章目录

0×1.MySQL中常用的时间类型

MySQL中有如下几种时间日期类型:

year:长度1字节,储存范围与格式['1901'到'2155'];
date:长度3字节,储存范围与格式['1000-01-01'到'9999-12-31'];
time:长度3字节,储存范围与格式['-838:59:59'到'838:59:59];
datetime:长度8字节,储存范围与格式['1000-01-01 00:00:00'到'9999-12-31 23:59:59'];
timestamp:长度4字节,值为当前时间;

0×2.Year,Date,Time,Datetime,Timestamp实例

下面是这几种时间类型的具体创建与插入方法:

					--创建表t16,包含上面介绍的所有时间类型
					mysql> create table t16(y year,d date,t time,dt datetime,ts timestamp);

					--时间的输入只要在第一部分介绍的范围内都是正确的,因为timestamp是自动填充的列,所以只需要插入前面四列的数据即可
					mysql> insert into t16(y,d,t,dt) values('2025','2025-10-03','18:20:09','2025-10-03 18:20:09');

					--ts列被自动填充成当前日期和时间
					mysql> select * from t16;                                                       
					+------+------------+----------+---------------------+---------------------+
					| y    | d          | t        | dt                  | ts                  |
					+------+------------+----------+---------------------+---------------------+
					| 2025 | 2025-10-03 | 18:20:09 | 2025-10-03 18:20:09 | 2015-09-23 19:09:59 |
					+------+------------+----------+---------------------+---------------------+

					--下面是一次错误的时间输入
					mysql> insert into t16(y,d,t,dt) values('3000','5000-50-53','-900:80:09','5000-10-53 -18:20:09');

					--对错误的输入,MySQL将其时间字段全部用0填充;部分数据库直接报错,插入失败
					mysql> select * from t16;                                                       
					+------+------------+------------+---------------------+---------------------+
					| y    | d          | t          | dt                  | ts                  |
					+------+------------+------------+---------------------+---------------------+
					| 2025 | 2025-10-03 | 18:20:09   | 2025-10-03 18:20:09 | 2015-09-23 15:09:59 |
					| 0000 | 0000-00-00 | 00:00:00   | 0000-00-00 00:00:00 | 2015-09-23 15:17:29 |
					+------+------------+------------+---------------------+---------------------+