MySQL 9.0 发行说明
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
或通过检查 SCHEMATA
表 INFORMATION_SCHEMA
来查看所有数据库名称,除了在数据库级别通过部分撤销权限限制的数据库。