DATETIME用于存储'YYYY-MM-DD HH:MM:SS'格式的日期时间,范围从'1000-01-01 00:00:00'到'9999-12-31 23:59:59';创建表时可用DATETIME定义字段,如event_time DATETIME;插入数据时支持字符串格式或NOW()函数记录当前时间;可使用BETWEEN、比较运算符进行时间查询,也可用DATE()、YEAR()等函数提取部分值;通过DEFAULT CURRENT_TIMESTAMP设置默认创建时间,ON UPDATE CURRENT_TIMESTAMP自动更新修改时间;适用于精确到秒的时间记录,注意与TIMESTAMP的区别,后者支持时区转换但时间范围较小。

在 MySQL 中,DATETIME 是用于存储日期和时间的常用数据类型,格式为 'YYYY-MM-DD HH:MM:SS',支持的时间范围从 '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59'。下面介绍如何在实际中使用 DATETIME 类型。
创建表时,可以直接使用 DATETIME 定义字段:
CREATE TABLE events (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(100),
event_time DATETIME
);
这样 event_time 就可以存储完整的日期和时间信息。
插入数据时,可以用字符串格式提供日期时间值:
INSERT INTO events (title, event_time)
VALUES ('发布会', '2025-04-05 14:30:00');
也可以使用 NOW() 函数插入当前时间:
INSERT INTO events (title, event_time)
VALUES ('会议记录', NOW());
NOW() 返回当前的日期和时间,适合记录操作时间点。
可以像普通字段一样对 DATETIME 进行查询:
SELECT * FROM events WHERE event_time > '2025-04-05 00:00:00';
查找某个时间段内的记录:
SELECT * FROM events WHERE event_time BETWEEN '2025-04-05 00:00:00' AND '2025-04-05 23:59:59';
也可以使用 DATE()、YEAR()、MONTH() 等函数提取部分信息:
SELECT title, DATE(event_time) AS event_date FROM events;
如果希望某字段自动记录创建时间或更新时间,可以结合 DEFAULT 和 ON UPDATE 使用:
CREATE TABLE logs (
id INT AUTO_INCREMENT PRIMARY KEY,
content TEXT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
这样 created_at 在插入时自动填充当前时间,updated_at 在每次更新记录时自动刷新。
基本上就这些。DATETIME 使用简单,适合需要精确到秒的时间记录场景。注意不要和 TIMESTAMP 混淆,后者有更小的时间范围,但支持时区转换。根据需求选择合适类型即可。
以上就是mysql如何使用datetime的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号