MySQL 存储数据时间戳的方法是使用 DATETIME 或 TIMESTAMP 数据类型。这两个数据类型都可以存储日期和时间信息,但有些区别。
DATETIME 类型存储的是指定日期和时间的值,范围从 ‘1000-01-01 00:00:00’ 到 ‘9999-12-31 23:59:59’。它占用 8 字节空间。
TIMESTAMP 类型存储的是从 ‘1970-01-01 00:00:01’ 开始到当前时间的秒数,它占用 4 字节空间。由于其取值范围较小,所以通常用于记录事件发生的时间点或近期活动的记录。
在创建表时,可以通过以下语句定义一个 DATETIME 或 TIMESTAMP 类型的列:
CREATE TABLE my_table (
id INT PRIMARY KEY,
created_at DATETIME, -- 创建时间
updated_at TIMESTAMP -- 更新时间
);
要插入当前日期和时间,可以使用 NOW() 函数(对应 DATETIME)或 CURRENT_TIMESTAMP 函数(对应 TIMESTAMP):
INSERT INTO my_table (id, created_at, updated_at)
VALUES (1, NOW(), CURRENT_TIMESTAMP);
要查询特定日期或时间段内的记录,可以使用 DATE()、YEAR()、MONTH()、DAY() 等函数提取日期或时间信息进行过滤。
例如,查询今天创建的记录:
SELECT * FROM my_table WHERE DATE(created_at) = CURDATE();