实例学习mysql获取当前时间与插入当前时间的方法

发布时间:2020-05-13编辑:脚本学堂
在mysql数据库中获取当前时间的方法,获取当前时间的mysql时间函数的用法,并介绍了mysql中插入系统当前时间的常用方法与例子,供大家学习参考。

一、mysql中插入系统当前时间

这里与oracle中插入系统当前时间做下对比:

1、oracle中直接使用“sysdate”就可以实现

2、mysql中则有几种不同的格式的日期方法可以选择
1)now()函数以`yyyy-mm-dd hh:mm:ss返回当前的日期时间

2)curdate()以’yyyy-mm-dd’的格式返回今天的日期

3)curtime()以’hh:mm:ss’的格式返回当前的时间

sql语句
 

select  now()  from   dual;

相当与oracle:
 

select sysdate  from dual;

二、mysql中取系统当前时间

在sql查询语句中,如何判定结束日期是不是大于当前日期,一般情况下都是通过php判定日期,然后查询。

php得到判定日期的sql查询语句
 

复制代码 代码示例:
$now = time(); //获取当期的日期
$sql="select * from `team` where end_time>$now ORDER BY sort_order limit 0,4";

三、获取当前时间的mysql时间函数

用于获取当前时间的MySql时间函数

例子:
 

复制代码 代码示例:

mysql> select current_timestamp();
+---------------------+
| current_timestamp() |
+---------------------+
| 2010-01-18 21:24:37 |
+---------------------+
1 row in set (0.00 sec)

mysql> select current_date();
+----------------+
| current_date() |
+----------------+
| 2010-01-18 |
+----------------+
1 row in set (0.00 sec)

mysql> select current_time();
+----------------+
| current_time() |
+----------------+
| 21:24:46 |
+----------------+
1 row in set (0.00 sec)

三、mysql设置字段自动获取当前时间

应用场景:
1、在数据表中,要记录每条数据是什么时候创建的,不需要应用程序去特意记录,而由数据数据库获取当前时间自动记录创建时间;
2、在数据库中,要记录每条数据是什么时候修改的,不需要应用程序去特意记录,而由数据数据库获取当前时间自动记录修改时间;

实现方式:
1、将字段类型设为  TIMESTAMP
2、将默认值设为  CURRENT_TIMESTAMP
 
举例:
 

复制代码 代码示例:

--添加CreateTime 设置默认时间 CURRENT_TIMESTAMP

ALTER TABLE `table_name`
ADD COLUMN  `CreateTime` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' ;

--修改CreateTime 设置默认时间 CURRENT_TIMESTAMP
ALTER TABLE `table_name`
MODIFY COLUMN  `CreateTime` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' ;

--添加UpdateTime 设置 默认时间 CURRENT_TIMESTAMP   设置更新时间为 ON UPDATE CURRENT_TIMESTAMP
ALTER TABLE `table_name`
ADD COLUMN `UpdateTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间' ;

--修改 UpdateTime 设置 默认时间 CURRENT_TIMESTAMP   设置更新时间为 ON UPDATE CURRENT_TIMESTAMP

ALTER TABLE `table_name`
MODIFY COLUMN `UpdateTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间' ;