MySQL中的时间类型包括DATETIME、DATE、TIME、TIMESTAMP等。
-- 创建一个包含时间类型的表 CREATE TABLE `test_date` ( `id` int(11) NOT NULL AUTO_INCREMENT, `date` DATE NOT NULL, `time` TIME NOT NULL, `datetime` DATETIME NOT NULL, `timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
DATETIME类型表示日期和时间,格式为YYYY-MM-DD HH:MM:SS。
-- 插入一条数据 INSERT INTO `test_date` (`date`, `time`, `datetime`, `timestamp`) VALUES ('2021-05-01', '12:30:45', '2021-05-01 12:30:45', CURRENT_TIMESTAMP);
DATE类型表示日期,格式为YYYY-MM-DD。
-- 查询某个日期的数据 SELECT * FROM `test_date` WHERE `date` = '2021-05-01';
TIME类型表示时间,格式为HH:MM:SS。
-- 查询某个时间的数据 SELECT * FROM `test_date` WHERE `time` = '12:30:45';
TIMESTAMP类型与DATETIME类似,但存储的是自1970年1月1日以来的秒数。
-- 查询某个时间戳的数据 SELECT * FROM `test_date` WHERE `timestamp` = '2021-05-01 12:30:45';
MySQL的时间类型可以用于许多场景,比如存储用户注册时间、文章发布时间等信息。在使用过程中,需要根据不同的业务场景选择不同的时间类型,同时合理设计数据表结构,以便最大限度地发挥其优势。