注册

详解MySQL的NOW()函数:返回当前日期和时间

MySQL中NOW()函数是用于获取当前日期和时间的函数,返回当前日期和时间的日期时间值,其使用方法如下:

NOW()

NOW()函数可以用作默认值,以便在插入新记录时,将当前时间的日期时间值自动添加到指定的列中。例如:

CREATE TABLE users (
  id INT(11) NOT NULL AUTO_INCREMENT,
  username VARCHAR(50) NOT NULL,
  created_at TIMESTAMP NOT NULL DEFAULT NOW(),
  PRIMARY KEY (id)
);

在上述例子中,创建了一个名为“users”的表,其中有3个列:id、username和created_at。id和username都是使用具有相应长度限制的VARCHAR类型定义的,而created_at是TIMESTAMP类型,且默认值为NOW()。

现在,当您向此表中插入新记录时,MySQL将使用当前日期和时间来填充created_at列:

INSERT INTO users (username) VALUES ('John Doe');

插入记录后,查询“users”表内容如下:

+----+-----------+---------------------+
| id | username  | created_at          |
+----+-----------+---------------------+
|  1 | John Doe  | 2021-07-21 12:34:56 |
+----+-----------+---------------------+

除了用作默认值外,NOW()函数还可以用于SELECT语句中,以便检索数据表中的日期和时间。例如,下面的SQL语句将返回当前日期和时间:

SELECT NOW();

结果类似于以下内容:

+---------------------+
| NOW()               |
+---------------------+
| 2021-07-21 12:34:56 |
+---------------------+

此外,您还可以在WHERE子句中使用NOW()函数,以仅检索指定日期之后的记录。例如,以下示例将检索创建时间晚于2021年7月1日的用户记录:

SELECT * FROM users WHERE created_at > '2021-07-01';

总之,NOW()函数是一个很有用的MySQL函数,可以帮助您获取当前日期和时间,并用于自动添加日期时间值到MySQL表的列中,以便轻松创建时间戳或记录修改或创建的日期和时间。