类型名称 日期格式 日期范围 存储需求
YEAR YYYY 1901 ~ 2155 1 个字节
TIME HH:MM:SS -838:59:59 ~ 838:59:59 3 个字节
DATE YYYY-MM-DD 1000-01-01 ~ 9999-12-3 3 个字节
DATETIME YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 8 个字节
TIMESTAMP YYYY-MM-DD HH:MM:SS 1980-01-01 00:00:01 UTC ~ 2040-01-19 03:14:07 UTC 4 个字节


YEAR 类型

YEAR以YYYY格式显示值, 范围为 1901to2155和 0000。

TIME 类型

TIME以’hh:mm:ss’格式(或大小 ‘hhh:mm:ss’时值的格式)检索和显示值 。TIME值范围从 ‘-838:59:59’到 ‘838:59:59’。

DATA 类型

DATE以'YYYY-MM-DD'格式检索和显示值 。支持的范围是'1000-01-01''9999-12-31'。该DATE类型用于具有日期部分但没有时间部分的值。

DATATIME 类型

DATETIME以'YYYY-MM-DD hh:mm:ss'格式检索和显示值 。支持的范围是'1000-01-01 00:00:00''9999-12-31 23:59:59' 。该DATETIME类型用于同时包含日期和时间部分的值。

TIMESTAMP 类型 TIMESTAMP有一个'1970-01-01 00:00:01'UTC 到'2038-01-19 03:14:07'UTC的范围。该TIMESTAMP数据类型被用于同时包含日期和时间部分的值。

TIMESTAMP 和 DATETIME 的自动初始化和更新

使用DEFAULT CURRENT_TIMESTAMP和 ON UPDATE CURRENT_TIMESTAMP,该列的默认值具有当前时间戳,并自动更新为当前时间戳。

  1. CREATE TABLE t1 (
  2. ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  3. dt DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
  4. );