列出(显示)MySQL数据库中的表

在管理MySQL数据库服务器时,您将要执行的最常见任务之一就是熟悉环境。 这包括列出驻留在服务器上的数据库,显示数据库表或获取有关用户帐户及其特权的信息。

本文介绍如何通过命令行列出MySQL或MariaDB数据库中的表。

显示MySQL表#

要获取MySQL数据库中的表列表,请使用 mysql 客户端工具连接到MySQL服务器并运行 SHOW TABLES 命令。

访问MySQL服务器:

mysql -u user -p

在MySQL Shell中,使用以下命令切换到数据库 USE 声明:

USE database_name;

执行以下命令以获取当前数据库中所有表和视图的列表:

SHOW TABLES;

输出将如下所示:

+----------------------------+
| Tables_in_database_name    |
+----------------------------+
| actions                    |
| permissions                |
| permissions_roles          |
| permissions_users          |
| roles                      |
| roles_users                |
| settings                   |
| users                      |
+----------------------------+
8 rows in set (0.00 sec)

可选的 FULL 修饰符会将表格类型显示为第二个输出列。

SHOW FULL TABLES;

输出将如下所示:

+----------------------------+------------+
| Tables_in_database_name    | Table_type |
+----------------------------+------------+
| actions                    | VIEW       |
| permissions                | BASE TABLE |
| permissions_roles          | BASE TABLE |
| permissions_users          | BASE TABLE |
| roles                      | BASE TABLE |
| roles_users                | BASE TABLE |
| settings                   | BASE TABLE |
| users                      | BASE TABLE |
+----------------------------+------------+

8 rows in set (0.00 sec)

要获取表列表而不切换到数据库,请使用 FROM 要么 IN 子句后跟数据库名称:

SHOW TABLES FROM database_name;

LIKE 子句可用于过滤 SHOW TABLES 根据特定模式命令。

SHOW TABLES LIKE pattern;

例如,以下语句将返回名称以“ open”开头的所有数据库:

SHOW TABLES LIKE 'permissions%';
+-------------------------------------------+
| Tables_in_database_name (permissions%)    |
+-------------------------------------------+
| permissions                               |
| permissions_roles                         |
| permissions_users                         |
+-------------------------------------------+
3 rows in set (0.00 sec)

百分号(%)表示零个,一个或多个字符。

从命令行显示MySQL表

要从Linux Shell获取有关表的信息,您可以使用 mysql -e 命令或 mysqlshow 显示数据库和表信息的命令。

当您想使用shell脚本处理MySQL数据库时,这特别有用。

在终端上运行以下命令以显示所有数据库的列表:

mysql -u user -p -e 'SHOW TABLES FROM database_name;'

输出将显示所有表的列表:

+----------------------------+
| Tables_in_database_name    |
+----------------------------+
| actions                    |
| permissions                |
| permissions_roles          |
| permissions_users          |
| roles                      |
| roles_users                |
| settings                   |
| users                      |
+----------------------------+

这是使用 mysqlshow 命令:

mysqlshow database_name

您可以使用 grep 命令。

结论#

要获取有关MySQL数据库中表的信息,请使用 SHOW TABLES 命令。

如有任何疑问,请随时发表评论。

MySQL数据库

Sidebar