列出MySQL数据库所有表

linux

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

本教程将说明如何通过命令行列出MySQL或MariaDB数据库中的表。包括使用SHOW FULL TABLES;语句打印所有表名和类型,使用LIKE子句过滤sql语句的输出,从命令行使用mysqlshow和mysql的-e选项查找所有MySQL表。

显示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)

要获取表而不切换数据库,请使用FROMIN子句,后跟数据库名称:

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数据库所有表 的全部内容, 来源链接: utcz.com/z/507053.html

回到顶部