是否有办法在以后输出当前选择的数据库的名称?
当前回答
只需使用mysql_query(或mysqli_query,甚至更好,或使用PDO,最好):
SELECT DATABASE();
附录:
关于FROM DUAL是否应该包含在其中有很多讨论。在技术层面上,它是Oracle遗留下来的,可以安全地移除。如果你有兴趣,可以这样使用:
SELECT DATABASE() FROM DUAL;
也就是说,可能需要注意的是,虽然FROM DUAL实际上不做任何事情,但它是有效的MySQL语法。从严格的角度来看,在JavaScript的单行条件中包含大括号也没有任何作用,但这仍然是一种有效的实践。
其他回答
只需使用mysql_query(或mysqli_query,甚至更好,或使用PDO,最好):
SELECT DATABASE();
附录:
关于FROM DUAL是否应该包含在其中有很多讨论。在技术层面上,它是Oracle遗留下来的,可以安全地移除。如果你有兴趣,可以这样使用:
SELECT DATABASE() FROM DUAL;
也就是说,可能需要注意的是,虽然FROM DUAL实际上不做任何事情,但它是有效的MySQL语法。从严格的角度来看,在JavaScript的单行条件中包含大括号也没有任何作用,但这仍然是一种有效的实践。
SELECT DATABASE();
附注:我不想擅自修改@cwallenpoole的答案,以反映这是一个MySQL问题而不是Oracle问题,不需要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
推荐文章
- MySql: Tinyint (2) vs Tinyint(1) -有什么不同?
- 如何在MySQL表中移动列?
- 在MySQL中选择最后一行
- 如何删除MySQL root密码
- MySQL对重复键更新在一个查询中插入多行
- mysql_connect():[2002]没有这样的文件或目录(试图通过unix:///tmp/mysql.sock连接)在
- MySQL:如何复制行,但改变几个字段?
- 不能删除或更新父行:外键约束失败
- Mysql错误1452:不能添加或更新子行:外键约束失败
- MySQL DISTINCT在GROUP_CONCAT()上
- 第一次设计数据库:我是否过度设计了?
- MySQL选择一个列DISTINCT,与其他列相对应
- 错误1022 -不能写;表中重复的键
- 如何修改列和更改默认值?
- 如何在MySQL 8.0中授予root用户所有权限