SHOW {DATABASES | SCHEMAS}
[LIKE 'pattern' | WHERE expr]
SHOW DATABASES
lists the
databases on the MySQL server host.
SHOW
SCHEMAS
is a synonym for SHOW
DATABASES
. The LIKE
clause, if present, indicates which database names to match. The
WHERE
clause can be given to select rows
using more general conditions, as discussed in
Section 28.8, “Extensions to SHOW Statements”.
You see only those databases for which you have some kind of
privilege, unless you have the global SHOW
DATABASES
privilege. You can also get this list using
the mysqlshow command.
If the server was started with the
--skip-show-database
option, you
cannot use this statement at all unless you have the
SHOW DATABASES
privilege.
MySQL implements databases as directories in the data directory, so this statement simply lists directories in that location. However, the output may include names of directories that do not correspond to actual databases.
Database information is also available from the
INFORMATION_SCHEMA
SCHEMATA
table. See
Section 28.3.31, “The INFORMATION_SCHEMA SCHEMATA Table”.
Because any static global privilege is considered a privilege
for all databases, any static global privilege enables a user
to see all database names with SHOW
DATABASES
or by examining the
SCHEMATA
table of
INFORMATION_SCHEMA
, except databases that
have been restricted at the database level by partial revokes.