SHOW SCHEMAS 在mysql服务器主机上列出数据库,和SHOW DATABASES是同义词。SHOW 接受 LIKE 限制所显示行的条款也允许WHERE 指定选定行必须满足的更一般条件的条款。
SHOW SCHEMAS [LIKE 'pattern' | WHERE expr]
显示所以数据库包含系统数据库和自定义
mysql> SHOW SCHEMAS; +--------------------+ | Database | +--------------------+ | information_schema | | hlwj | | mysql | | newyicheng | | newzjzhbhq | | performance_schema | | shanmeng | | sys | | yichengjianshe | | yoshop | | zjzhbhq | +--------------------+ 11 rows in set (0.00 sec)
模糊查询数据库名称带有"en"字符的数据库
mysql> SHOW SCHEMAS LIKE '%en%'; +-----------------+ | Database (%en%) | +-----------------+ | newyicheng | | shanmeng | | yichengjianshe | +-----------------+ 3 rows in set (0.00 sec)
这里是%en%是代表名字包含en的数据库,
如果将%en%换成en%则代表查找en开头的数据库,
%en代表已en结尾的数据库。
这些语句在现在看着用处不大,当数据库量起来以后,会帮我们节省大量的查找时间。
如果根据条件查询数据库可以使用where
mysql> SHOW SCHEMAS WHERE `Database` NOT IN ('information_schema', 'mysql', 'performance_schema','sys'); +----------------+ | Database | +----------------+ | hlwj | | newyicheng | | newzjzhbhq | | shanmeng | | yichengjianshe | | yoshop | | zjzhbhq | +----------------+ 7 rows in set (0.00 sec)
其中,'information_schema', 'mysql', 'performance_schema','sys'都是MySQL系统库的名称。此命令执行后,MySQL会返回所有非系统库的信息。