数据库是一个专门存储数据对象的容器,每一个数据库都有唯一的名称,并且数据库的名称都是有实际意义的,这样就可以清晰的看出每个数据库用来存放什么数据。在 MySQL 数据库中存在系统数据库和自定义数据库,系统数据库是在安装 MySQL 后系统自带的数据库,自定义数据库是由用户定义创建的数据库。
在 MySQL 中,可使用 SHOW DATABASES 语句来列举当前用户权限范围以内的数据库。SHOW DATABASES的语法格式为:
SHOW {DATABASES | SCHEMAS} [LIKE 'pattern']
语法说明如下:
-
-
SHOW 后面可以是DATABASES或SCHEMAS;
-
LIKE 从句是可选项,用于模糊匹配指定的数据库名称。LIKE 从句可以部分匹配,也可以完全匹配。
-
实例1:查看本机所有数据库
列出当前用户可查看的所有数据库:
mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | | sys | +--------------------+ 5 row in set (0.00 sec)
可以发现,上面的查询出来有 5 个数据库,除了test之外,剩余的 4 个数据库是安装 MySQL 时系统自动创建的,其各自功能如下:
-
-
information_schema:主要存储了系统中的一些数据库对象信息,比如用户表信息、列信息、权限信息、字符集信息和分区信息等。
-
mysql:MySQL 的核心数据库,类似于 SQL Server 中的 master 表,主要负责存储数据库用户、用户访问权限等 MySQL 自己需要使用的控制和管理信息。常用的比如在 mysql 数据库的 user 表中修改 root 用户密码。
-
performance_schema:主要用于收集数据库服务器性能参数。
-
sys:MySQL 5.7 安装完成后会多一个 sys 数据库。sys 数据库主要提供了一些视图,数据都来自于 performation_schema,主要是让开发者和使用者更方便地查看性能问题。
-
实例2:使用 LIKE 从句模糊匹配查询
模糊匹配,可以使用字符 % 进行匹配。查询包含“schema”的数据库:
mysql> SHOW DATABASES LIKE '%schema%'; +---------------------+ | Database (%schema%) | +---------------------+ | information_schema | | performance_schema | +---------------------+ 2 rows in set (0.00 sec