数据库-Mysql之时间操作
一、Mysql中时间格式格式化方式
http://www.w3school.com.cn/sql/func_date_format.asp
CURRENT_TIMESTAMP:https://www.cnblogs.com/acm-bingzi/p/mysql-current-timestamp.html
在创建时间字段的时候
DEFAULT CURRENT_TIMESTAMP
表示当插入数据的时候,该字段默认值为当前时间
ON UPDATE CURRENT_TIMESTAMP
表示每次更新这条数据的时候,该字段都会更新成当前时间
这两个操作是mysql数据库本身在维护,所以可以根据这个特性来生成【创建时间】和【更新时间】两个字段,且不需要代码来维护
CREATE TABLE `mytest` ( `text` varchar(255) DEFAULT '' COMMENT '内容', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
二、Mysql按时间区间查询
select * from chess_user u where DATE_FORMAT(u.register_time,'%Y-%m-%d %H:%i:%s')='2018-01-25 23:59:59'; select * from chess_user u where u.register_time BETWEEN '2018-01-25 00:00:00' and '2018-01-25 23:59:59';
三、MySql按天,日,小时,分钟分组数据
mysql按 时间 分组数据
如果按小时分组 则 格式调整为 “%Y-%m-%d %H:00:00”
按分钟分组 则 格式调整为 “%Y-%m-%d %H:%i:00”
具体 DATA_FORMAT 可参考下面链接
http://www.w3school.com.cn/sql/func_date_format.asp
SELECT COUNT(*), DATE_FORMAT(time ,'%Y-%m-%d %H:00:00') as time FROM tableName GROUP BY time
详细的sql参考:
人生苦短,我用python!