MySQL 8.4 发行说明
SHOW {DATABASES | SCHEMAS}
[LIKE 'pattern' | WHERE expr]
SHOW DATABASES
列出 MySQL 服务器主机上的数据库。SHOW SCHEMAS
是 SHOW DATABASES
的同义词。 LIKE
子句(如果存在)指示要匹配的数据库名称。 可以使用 WHERE
子句根据更一般的条件选择行,如 “第 28.8 节:SHOW 语句的扩展” 中所述。
除非您拥有全局 SHOW DATABASES
权限,否则您只能看到您拥有某种权限的数据库。 您还可以使用 mysqlshow 命令获取此列表。
如果服务器是在 --skip-show-database
选项下启动的,则除非您拥有 SHOW DATABASES
权限,否则您根本无法使用此语句。
MySQL 将数据库作为数据目录中的目录来实现,因此此语句仅列出该位置的目录。但是,输出可能包含与实际数据库不对应的目录名称。
数据库信息也可以从 INFORMATION_SCHEMA
SCHEMATA
表中获取。参见 第 28.3.31 节,“INFORMATION_SCHEMA SCHEMATA 表”。
注意
由于任何静态全局权限都被视为所有数据库的权限,因此任何静态全局权限都允许用户使用 SHOW DATABASES
或通过检查 INFORMATION_SCHEMA
的 SCHEMATA
表来查看所有数据库名称,但已通过部分撤销在数据库级别受到限制的数据库除外。