MySQL 展示或列出表格
当我们有许多包含各种表格的数据库时,展示或列出表格是非常重要的。有时候在许多数据库中,表格的名称是相同的;在这种情况下,这个查询非常有用。我们可以使用下面的语句获取一个数据库的表格信息的数量:
mysql> SHOW TABLES;
以下是获得表格列表的必要步骤:
步骤 1: 打开随MySQL命令行客户端出现的 mysql > 提示符 ** 。接下来, **登录 到MySQL数据库服务器,使用在安装MySQL时创建的 密码 。现在,您已连接到MySQL服务器,在这里可以执行所有的SQL语句。
步骤 2: 接下来,使用以下命令选择特定的数据库:
mysql> USE database_name;
步骤 3: 最后,执行 SHOW TABLES 命令。
让我们通过下面给出的例子来理解它。假设我们有一个名为 ” mystudentdb ” 的数据库,它包含很多表。然后执行下面的语句来列出它包含的表:
mysql> USE mystudentdb;
mysql>SHOW TABLES;
以下输出更清晰地解释了它:
我们还可以在SHOW TABLES查询中使用FULL修饰符,以在第二个输出列中获取表的类型(Base或View)。
mysql> SHOW FULL TABLES;
这个陈述将会给出以下的输出:
如果我们想从不同的数据库或者你没有连接的数据库中展示或者列出表名,而不需要切换数据库,MySQL允许我们使用FROM或者IN子句后跟数据库名。下面的语句更清楚地解释了这一点:
mysql> SHOW TABLES IN database_name;
上述声明也可以写成:
mysql> SHOW TABLES FROM database_name;
当我们执行下面的语句时,我们将得到相同的结果:
mysql> SHOW TABLES FROM mystudentdb;
OR,
mysql> SHOW TABLES IN mystudentdb;
输出:
使用模式匹配显示表
MySQL中的Show Tables命令还提供了一个选项,允许我们使用LIKE和WHERE子句来过滤返回的表。
语法
以下是使用show table命令进行模式匹配的语法:
mysql> SHOW TABLES LIKE pattern;
OR,
mysql> SHOW TABLES WHERE expression;
我们可以通过下面的示例来理解它,其中百分号(%)字符可以表示零个、一个或多个字符:
mysql> SHOW TABLES FROM mystudentdb LIKE "stud%";
以上语句将产生以下输出:
让我们来看看另一个返回以 “time” 开头的表名的语句:
mysql> SHOW TABLES IN mysql LIKE "time%";
以上查询将给出以下输出:
现在,我们将看到如何使用 WHERE 子句与SHOW TABLES命令来列出所选数据库中不同类型的表格(无论是基本表还是视图类型):
mysql> SHOW TABLES FROM sakila WHERE table_type= "VIEW";
该语句的输出如下:
注意,如果MySQL没有提供访问基表或视图的权限,那么我们无法获得SHOW TABLES命令结果集中的表。
在这里,我们还可以看到带有WHERE子句的Show Tables语句的另一个示例:
mysql> SHOW TABLES In mystudentdb WHERE Tables_in_mystudentdb= "employees";
它将会给出以下输出结果: