MySQL 时间类型详解
MySQL 提供了几种时间类型来存储与时间相关的详细信息。
1. DATETIME
存储日期和时间,精确到秒。 格式:YYYY-MM-DD HH:MM:SS 范围:1000-01-01 00:00:00 到 9999-12-31 23:59:592. TIMESTAMP
类似于 DATETIME,但会自动更新为当前时间戳。 格式:YYYY-MM-DD HH:MM:SS[.fractional seconds] 范围:1970-01-01 00:00:01 到 2038-01-19 03:14:07 UTC3. TIME
仅存储时间,不存储日期。 格式:HH:MM:SS[.fractional seconds] 范围:-838:59:59 到 838:59:594. YEAR
仅存储年份。 格式:YYYY 范围:1901 到 21555. DATE
仅存储日期,而不存储时间。 格式:YYYY-MM-DD 范围:1000-01-01 到 9999-12-31示例
<code class="sql">-- 创建时间戳列
CREATE TABLE my_table(
timestamp_column TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
-- 在列中插入时间戳
INSERT INTO my_table(timestamp_column) VALUES (NOW());
-- 获取当前时间戳
SELECT NOW() AS current_timestamp;</code>注意事项
DATETIME 和 TIMESTAMP 可以存储小数秒,以提高精度。 TIMESTAMP 的自动更新功能可以用于跟踪记录的最后修改时间。 TIME 对于存储持续时间很有用,例如事件持续时间。 MySQL 5.6 及更高版本支持微秒精度的时间戳。 选择正确的类型取决于应用程序的特定需求和所需的精度水平。