欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

mysql 中select now(); 是怎么执行的?没有指定FROM tablename?

程序员文章站 2024-01-10 14:33:22
...
mysql中 使用指令select now();就会获取当前时间日期。为什么没有from table,这种指令也能执行?

不指定表的时候,应该如何理解select呢?

回复内容:

mysql中 使用指令select now();就会获取当前时间日期。为什么没有from table,这种指令也能执行?

不指定表的时候,应该如何理解select呢?

参考文档
now()是mysql内置函数,返回当前时间,而select可以不从表中获取数据。即使使用select now() from table,这个table也会被忽略,因为now()用不上

SELECT can also be used to retrieve rows computed without reference to any table.

For example:

mysql> SELECT 1 + 1;
        -> 2
You are permitted to specify DUAL as a dummy table name in situations where 
no tables are referenced:

mysql> SELECT 1 + 1 FROM DUAL;
        -> 2
DUAL is purely for the convenience of people who require that all SELECT statements 
should have FROM and possibly other clauses. 
MySQL may ignore the clauses. MySQL does not require FROM DUAL if no tables are referenced.
相关标签: mysql sql php