查找两个 Table 之间的相关列
Find related columns in between two Table
想象一下,您有两个表。
而且每个 Table 都有很多列。
我没有创建数据库,所以我真的不知道相关的列。
一个问题是两个表之间没有相同的列名,所以我无法通过列名找出。
如何找到与两个不同表相关的列?
如果table之间有外键,那么就可以找到它们之间的关系。为此,您可以在 table 上调用 \d
并查看与其列关联的外键。如果没有显式外键,则无法确定 table 之间的关系,除非与开发人员 and/or 技术决策者交谈。
在psql
中如何显示外键关系的示例:
postgres=# alter table pgbench_accounts add constraint "pgb_accounts_branches_fk" foreign key (bid) references pgbench_branches (bid);
ALTER TABLE
postgres=# \d pgbench_accounts
Table "public.pgbench_accounts"
Column | Type | Collation | Nullable | Default
----------+---------------+-----------+----------+---------
aid | integer | | not null |
bid | integer | | |
abalance | integer | | |
filler | character(84) | | |
Indexes:
"pgbench_accounts_pkey" PRIMARY KEY, btree (aid)
Foreign-key constraints:
"pgb_accounts_branches_fk" FOREIGN KEY (bid) REFERENCES pgbench_branches(bid)
postgres=# \d pgbench_branches
Table "public.pgbench_branches"
Column | Type | Collation | Nullable | Default
----------+---------------+-----------+----------+---------
bid | integer | | not null |
bbalance | integer | | |
filler | character(88) | | |
Indexes:
"pgbench_branches_pkey" PRIMARY KEY, btree (bid)
Referenced by:
TABLE "pgbench_accounts" CONSTRAINT "pgb_accounts_branches_fk" FOREIGN KEY (bid) REFERENCES pgbench_branches(bid)
postgres=#
想象一下,您有两个表。 而且每个 Table 都有很多列。
我没有创建数据库,所以我真的不知道相关的列。 一个问题是两个表之间没有相同的列名,所以我无法通过列名找出。
如何找到与两个不同表相关的列?
如果table之间有外键,那么就可以找到它们之间的关系。为此,您可以在 table 上调用 \d
并查看与其列关联的外键。如果没有显式外键,则无法确定 table 之间的关系,除非与开发人员 and/or 技术决策者交谈。
在psql
中如何显示外键关系的示例:
postgres=# alter table pgbench_accounts add constraint "pgb_accounts_branches_fk" foreign key (bid) references pgbench_branches (bid);
ALTER TABLE
postgres=# \d pgbench_accounts
Table "public.pgbench_accounts"
Column | Type | Collation | Nullable | Default
----------+---------------+-----------+----------+---------
aid | integer | | not null |
bid | integer | | |
abalance | integer | | |
filler | character(84) | | |
Indexes:
"pgbench_accounts_pkey" PRIMARY KEY, btree (aid)
Foreign-key constraints:
"pgb_accounts_branches_fk" FOREIGN KEY (bid) REFERENCES pgbench_branches(bid)
postgres=# \d pgbench_branches
Table "public.pgbench_branches"
Column | Type | Collation | Nullable | Default
----------+---------------+-----------+----------+---------
bid | integer | | not null |
bbalance | integer | | |
filler | character(88) | | |
Indexes:
"pgbench_branches_pkey" PRIMARY KEY, btree (bid)
Referenced by:
TABLE "pgbench_accounts" CONSTRAINT "pgb_accounts_branches_fk" FOREIGN KEY (bid) REFERENCES pgbench_branches(bid)
postgres=#