Mysql 简明教程

MySQL − Show Tables

MySQL Show Tables Statement

在 MySQL 中,我们使用 SHOW TABLES 命令来检索特定数据库中存在的表的名称。此命令在各种情况下很有用,例如:

  1. 当我们想查看数据库中存在的表名以验证特定表是否存在时。

  2. 当我们想显示有关数据库中每个表其他信息时,我们会使用 MySQL FULL 修饰符与 SHOW TABLES 命令一起使用。

  3. 此外,我们可以使用带通配符的 SHOW TABLES 命令来筛选并仅显示与特定模式匹配的表。

Syntax

以下是 MySQL SHOW TABLES 命令的语法:

SHOW TABLES;

在继续使用示例之前,假设以下表存在于两个数据库中, testdb1testdb2

Example

首先,我们正在将数据库更改为 testdb1 以对它执行 SHOW TABLES 操作。

mysql> USE testdb1;
Database changed

现在,执行以下查询以列出 testdb1 数据库中的所有表。

SHOW TABLES;

Output

以下是 testdb1 数据库中存在的表:

SHOW TABLES with FULL modifier

在 MySQL 中,我们使用可选 FULL 修饰符和 SHOW TABLES 命令一起显示第二输出列,其中包含有关数据库中表的其他信息,例如它们的类型: BASE TABLE 表示表、 VIEW 表示视图或 SYSTEM VIEW 表示 INFORMATION_SCHEMA 表。

Example

在下面的查询中,我们使用 FULL 修饰符和 SHOW TABLE 命令一起列出 testdb1 数据库中的表及其类型。

SHOW FULL TABLES;

Output

以下是以上查询的输出:

SHOW TABLES in different Database

在 MySQL 中,我们可以检索另一个数据库中存在的表列表。要做到这一点,我们需要在 SHOW TABLES 语句中使用 IN 运算符或 FROM 子句。

Example

在下面的查询中,我们使用 SHOW TABLES 命令和 IN 运算符获取存在于另一个数据库 testdb2 中的表列表。

SHOW TABLES IN testdb2;

Output

以下是 testdb2 数据库中存在的表名:

Example

我们还可以使用带有 FROM 子句的 SHOW TABLES 命令执行上面的操作。

SHOW TABLES FROM testdb2;

Output

正如我们观察到的,两个输出结果相同。

SHOW TABLES using Pattern Matching

在某些情况下,当数据库中有大量表,而我们只想检索特定表时,我们会将 LIKE 运算符与 WILDCARD characters (如“%”)一起使用。这些通配符会筛选并仅显示与特定模式匹配的表。

Example

在下面的查询中,我们使用 SHOW TABLES 命令和 LIKE 运算符来选择 testdb1 数据库中名称以“stud”开头的所有表。

SHOW TABLES IN testdb1 LIKE "stud%";

Output

以下是名称以“stud”开头的 testdb1 数据库中存在的表:

Example

在此,我们尝试检索名称以“stud”开头的 testdb2 数据库中的表 -

SHOW TABLES IN testdb2 LIKE "stud%";

Output

这将生成以下结果:

Example

我们使用 SHOW TABLES 和 WHERE 子句来检查 testdb1 数据库中是否存在名为“employee_remarks”的表 -

SHOW TABLES FROM testdb1 WHERE Tables_in_testdb1 = "employee_remarks";

Output

这将生成以下结果:

Showing tables Using a Client Program

除了使用 MySQL 查询显示 MySQL 数据库中存在的表列表之外,我们还可以使用客户端程序来执行 SHOW TABLES 操作。

Syntax

以下是在各种编程语言中显示 MySQL 数据库中表列表的语法 -

Example

以下是这些程序 −