MySQL数据库操作-查看数据库 (SHOW DATABASES)

数据库可以看作是一个专门存储数据对象的容器,每一个数据库都有唯一的名称,并且数据库的名称都是有实际意义的,这样就可以清晰的看出每个数据库用来存放什么数据。

在 MySQL数据库中存在系统数据库和自定义数据库,系统数据库是在安装 MySQL 后系统自带的数据库,自定义数据库是由用户定义创建的数据库。

查看数据库

在 MySQL 中,可使用 SHOW DATABASES 语句来查看或显示当前用户权限范围以内的数据库。查看数据库的语法格式为:

SHOW DATABASES [LIKE '数据库名'];

语法说明如下:

LIKE 从句是可选项,用于匹配指定的数据库名称。LIKE 从句可以部分匹配,也可以完全匹配。数据库名由单引号' '包围。

实例1:查看所有数据库

列出当前用户可查看的所有数据库:

mysql> SHOW DATABASES;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| sys |

| test001 |

| test002 |

+--------------------+

6 rows in set (0.00 sec)

一共查询到了6个数据库, 其中test001, test002是本人测试创建的数据库

剩下的 information_schema, mysql, performance_schema, sys是安装MySQL的时候自动创建的,其各自功能如下:

information_schema, 主要存储了系统中的一些数据库对象信息,比如用户表信息、列信息、权限信息、字符集信息和分区信息等。mysql, MySQL 的核心数据库,类似于 SQL Server 中的 master 表,主要负责存储数据库用户、用户访问权限等 MySQL 自己需要使用的控制和管理信息。常用的比如在 mysql 数据库的 user 表中修改 root 用户密码。performance_schema, 主要用于收集数据库服务器性能参数。sys, sys 数据库主要提供了一些视图,数据都来自于 performation_schema,主要是让开发者和使用者更方便地查看性能问题。

实例2:创建并查看数据库

先创建一个名为test_db的数据库:

mysql> CREATE DATABASE test_db;

Query OK, 1 row affected (0.00 sec)

再使用 SHOW DATABASES语句显示权限范围内的所有数据库名,如下所示:

mysql> SHOW DATABASES;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| sys |

| test001 |

| test002 |

| test_db |

+--------------------+

7 rows in set (0.00 sec)

可以发现刚才创建的数据库已经被显示出来了。

实例3:使用 LIKE 从句

先创建三个数据库,名字分别为 test_db、db_test、db_test_db,其中test_db已经创建

mysql> CREATE DATABASE db_test_db;

Query OK, 1 row affected (0.00 sec)

mysql> CREATE DATABASE db_test;

Query OK, 1 row affected (0.00 sec)

使用 LIKE 从句,查看与 test_db 完全匹配的数据库:

mysql> SHOW DATABASES LIKE 'test_db';

+--------------------+

| Database (test_db) |

+--------------------+

| test_db |

+--------------------+

1 row in set (0.00 sec)

使用 LIKE 从句,查看名字中包含 test 的数据库:

mysql> SHOW DATABASES LIKE '%test%';

+-------------------+

| Database (%test%) |

+-------------------+

| db_test |

| db_test_db |

| test001 |

| test002 |

| test_db |

+-------------------+

5 rows in set (0.00 sec)

使用 LIKE 从句,查看名字以 db 开头的数据库:

mysql> SHOW DATABASES LIKE 'db%';

+----------------+

| Database (db%) |

+----------------+

| db_test |

| db_test_db |

+----------------+

2 rows in set (0.00 sec)

使用 LIKE 从句,查看名字以 db 结尾的数据库:

mysql> SHOW DATABASES LIKE '%db';

+----------------+

| Database (%db) |

+----------------+

| db_test_db |

| test_db |

+----------------+

2 rows in set (0.00 sec)