在 PostgreSQL 中列出表
本篇文章将使用 PostgreSQL 数据库来展示我们可以用来返回数据库表集合的不同命令。
在 MySQL
数据库中,你会遇到的常见命令是 SHOW TABLES
,但在 PostgreSQL 中,数据库管理系统不理解此命令。
开始使用 PostgreSQL 数据库
你可以安装 PostgreSQL 数据库并使用以下命令登录到你的数据库。
>psql -U postgres
提示输入密码,我们应该输入我们在安装过程中指定的密码,然后回车。
我们可能已经创建了多个数据库,我们应该使用以下命令列出所有可用的数据库。
\l
输出:
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+--------------------+--------------------+-----------------------
employee | postgres | UTF8 | English_Kenya.1252 | English_Kenya.1252 |
postgres | postgres | UTF8 | English_Kenya.1252 | English_Kenya.1252 |
template0 | postgres | UTF8 | English_Kenya.1252 | English_Kenya.1252 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | English_Kenya.1252 | English_Kenya.1252 | =c/postgres +
| | | | | postgres=CTc/postgres
(4 rows)
在标记为 Name
的列上,我们可以看到三个数据库 employee
、postgres
、template0
和 template1
。要选择我们要使用的数据库 employee
,请使用以下命令。
连接从当前连接的数据库 postgres
转移到我们想要使用的 employee
。
postgres=# \c employee;
在 PostgreSQL 中使用 \dt
命令显示表
\dt
命令在 PostgreSQL 中用于描述所有表,使用如下所示。该命令返回一行,因为我们在数据库中只有一个表。
employee=# \dt
输出:
List of relations
Schema | Name | Type | Owner
--------+----------+-------+----------
public | employee | table | postgres
(1 row)
在 PostgreSQL 中显示特定模式中的表
由于我们可以在 PostgreSQL 中拥有不同的模式来保存不同的数据库,因此我们可以在查询中指定我们想要的模式,并且该模式中的所有表都将返回给我们。
以下命令返回公共模式中的所有表。
employee=# \dt public.*
输出:
List of relations
Schema | Name | Type | Owner
--------+----------+-------+----------
public | employee | table | postgres
(1 row)
在 PostgreSQL 的所有模式中显示表
正如我们在上面返回公共模式中的表列表所做的那样,我们可以使用相同的命令而不指定任何模式来返回数据库中的所有表。
employee=# \dt *.*
输出:
List of relations
Schema | Name | Type | Owner
--------------------+-------------------------+-------+----------
information_schema | sql_features | table | postgres
information_schema | sql_implementation_info | table | postgres
information_schema | sql_parts | table | postgres
information_schema | sql_sizing | table | postgres
pg_catalog | pg_aggregate | table | postgres
pg_catalog | pg_am | table | postgres
pg_catalog | pg_amop | table | postgres
pg_catalog | pg_amproc | table | postgres
pg_catalog | pg_attrdef | table | postgres
pg_catalog | pg_attribute | table | postgres
pg_catalog | pg_auth_members | table | postgres
pg_catalog | pg_authid | table | postgres
pg_catalog | pg_cast | table | postgres
pg_catalog | pg_class | table | postgres
pg_catalog | pg_collation | table | postgres
pg_catalog | pg_constraint | table | postgres
pg_catalog | pg_conversion | table | postgres
pg_catalog | pg_database | table | postgres
pg_catalog | pg_db_role_setting | table | postgres
pg_catalog | pg_default_acl | table | postgres
pg_catalog | pg_depend | table | postgres
pg_catalog | pg_description | table | postgres
pg_catalog | pg_enum | table | postgres
pg_catalog | pg_event_trigger | table | postgres
pg_catalog | pg_extension | table | postgres
pg_catalog | pg_foreign_data_wrapper | table | postgres
-- More --
在 PostgreSQL 中使用 information_schema
显示表
information_schema
是一个包含有关当前数据库的信息的表,我们可以使用 select
语句查询它以查找数据库中的公共实体。
此查询可能不容易阅读。我们可以使用以下命令打开扩展显示来解决这个问题。
employee=# \x
select * from information_schema.tables where table_schema='public';
输出:
employee=# select * from information_schema.tables where table_schema='public';
-[ RECORD 1 ]----------------+-----------
table_catalog | employee
table_schema | public
table_name | employee
table_type | BASE TABLE
self_referencing_column_name |
reference_generation |
user_defined_type_catalog |
user_defined_type_schema |
user_defined_type_name |
is_insertable_into | YES
is_typed | NO
commit_action |
相关文章
在一个 PostgreSQL 查询中使用多个 WITH 语句
发布时间:2023/03/20 浏览次数:127 分类:PostgreSQL
-
在本教程中,我们将学习如何使用多个 WITH 语句在 PostgreSQL 中使用两个临时表执行查询。
在 Ubuntu 上的 PostgreSQL 中找到配置文件
发布时间:2023/03/20 浏览次数:130 分类:PostgreSQL
-
本文介绍如何在 Ubuntu 上找到 PostgreSQL 数据库的配置文件。
在 PSQL 中运行 SQL 文件
发布时间:2023/03/20 浏览次数:178 分类:数据库
-
本文解释了如何直接从终端/命令行或 psql shell 运行 SQL 文件。为此,你需要指定主机名、端口、用户名和数据库名称。
在 PostgreSQL 中使用循环
发布时间:2023/03/20 浏览次数:124 分类:PostgreSQL
-
在 PL/SQL 中,你可能需要在 Postgres 中使用循环。我们可以使用 FOR 和 WHILE 语句来创建循环。
在 PostgreSQL 中重命名和更改列类型的单个查询
发布时间:2023/03/20 浏览次数:121 分类:PostgreSQL
-
本文介绍如何在 PostgreSQL 中仅使用单个查询来重命名列以及更改其类型。
在 PostgreSQL 中使用 Select 连接列
发布时间:2023/03/20 浏览次数:202 分类:PostgreSQL
-
本文介绍如何在 PostgreSQL 中使用 Select 方法连接列。