MySQL datetime timestamp 以及如何自动更新,如何实现范围查询
在MySQL中,DATETIME
和TIMESTAMP
都可以用来存储日期和时间信息,但它们之间有一些区别:
DATETIME
的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。TIMESTAMP
的范围是'1970-01-01 00:00:01'UTC到'2038-01-19 03:14:07'UTC,且它与时区有关。
自动更新:
TIMESTAMP
列可以自动设置或更新为当前的日期和时间。你可以通过设置DEFAULT CURRENT_TIMESTAMP
和ON UPDATE CURRENT_TIMESTAMP
属性来实现。
例如:
CREATE TABLE example (
id INT PRIMARY KEY,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
在这个例子中,created_at
列在插入时会自动设置为当前的时间戳,而updated_at
列在更新行时会自动更新为当前的时间戳。
范围查询:
- 使用
BETWEEN
关键字可以进行范围查询。
例如:
SELECT * FROM example
WHERE created_at BETWEEN '2023-01-01 00:00:00' AND '2023-12-31 23:59:59';
这个查询会返回example
表中created_at
列的值在2023年1月1日到2023年12月31日之间的所有行。
评论已关闭