是否有办法在以后输出当前选择的数据库的名称?
只需使用mysql_query(或mysqli_query,甚至更好,或使用PDO,最好):
SELECT DATABASE();
有很多关于FROM DUAL是否应该包含在其中的讨论。在技术层面上,它是Oracle遗留下来的,可以安全地移除。如果你有兴趣,可以这样使用:
FROM DUAL
SELECT DATABASE() FROM DUAL;
也就是说,也许重要的是要注意,虽然FROM DUAL实际上没有做任何东西,但它是有效的MySQL语法。从严格的角度来看,在JavaScript的单行条件中包含大括号也不能做任何事,但这仍然是一种有效的实践。
附注:我不想擅自修改@cwallenpoole的答案,以反映这是一个MySQL问题,而不是Oracle问题,不需要DUAL。
DUAL
你可以使用STATUS命令来了解当前数据库&当前用户
稍微偏离主题(使用CLI而不是PHP),但仍然值得了解: 您可以使用以下任何一个
mysql --prompt='\d> ' export MYSQL_PS1='\d> '
或者一旦进入
prompt \d>\_ \R \d>\_
另一种使用特定单词过滤数据库的方法。
SHOW DATABASES WHERE `Database` LIKE '<yourDatabasePrefixHere>%' or SHOW DATABASES LIKE '<yourDatabasePrefixHere>%';
例子:
SHOW DATABASES WHERE `Database` LIKE 'foobar%' foobar_animal foobar_humans_gender foobar_objects