📜  PostgreSQL显示表

📅  最后修改于: 2020-11-30 01:17:17             🧑  作者: Mango

PostgreSQL显示表

在本节中,我们将学习如何在PostgreSQL中显示表。当我们有许多数据库(其中有多个表)时,列表或显示表就非常重要。

有时,各种数据库中的表名是相同的。在这种情况下,show table命令非常有用。

在PostgreSQL中,我们可以通过两种不同的方式来显示表,如下所示:

  • PostgreSQL使用psql显示表
  • PostgreSQL使用pgadmin4显示表

注意:在PostgreSQL中,我们不能直接使用SHOW TABLES命令,因为我们可以直接在MySQL中使用。

PostgreSQL使用psql显示表

在psql中,我们可以使用以下命令获取数据库的表信息数量,并显示当前数据库中的表:

\dt

要获取表列表,我们将遵循以下步骤:

步骤1

  • 打开SQL shell(psql),其中显示了必要的详细信息。之后,我们将使用在PostgreSQL的安装过程中创建的密码登录到Postgres数据库服务器。
  • 正如下面的屏幕截图所示,我们已经连接到Postgres服务器:

第2步

  • 现在,我们将使用以下命令连接到我们先前创建的特定数据库服务器javatpoint:
\c javatpoint 

第三步

  • 最后,我们将执行SHOW TABLES命令以查看javatpoin t数据库包含许多表。
Javatpoint=# \dt

注意:\ dt命令用于列出当前数据库中的所有表。

输出量

以下屏幕截图更清楚地说明了这一点:

PostgreSQL使用pgAdmin4显示表

PostgreSQL中,这是在pgAdmin4的帮助下显示表的另一种方法。

在这里,我们将使用select命令从PostgreSQL目录中请求数据。

SELECT * FROM pg_catalog.pg_tables
WHERE
schemaname != 'pg_catalog'
AND schemaname != 'information_schema';

注意:为了获得有关数据库中每个表的所有有用信息,我们将使用pg_tables。

pgadmin4中的SQL查询

我们可以在SQL查询工具中看到以上查询:

表结构

上面的查询将生成以下表结构:


注意:我们可以在WHERE子句中修改条件以过滤系统表。如果忽略WHERE子句,可能会得到许多表,这些表可能是对我们没有用的系统表。

假设我们在上面的查询中将模式名称修改为myschema:

SELECT * FROM pg_catalog.pg_tables
WHERE
schemaname = 'myschema'
AND schemaname != 'information_schema'

pgAdmin4中的SQL查询

更改查询并单击execute按钮后,如下图所示:

输出量

我们可以看到在myschema中创建的表,如下图所示:

要么

我们可以使用另一个查询来显示数据库中的表:

select * 
from information_schema.tables 
where table_schema='public';

注意:在这里,信息模式本身是一种自动出现在所有数据库中的模式,称为information_schema。

pgAdmin4中的SQL查询

输出量

在这里,我们可以看到上述查询的输出: