PostgreSQL表继承(inherits)的使用

2023年 8月 15日 59.8k 0

PostgreSQL 支持表继承,首先定义一个父表,然后使用关键字 INHERITS 定义一个子表,子表继承父表的所有字段定义。

定义一个父表:
create table parent(id int, name varchar(50));

定义一个子表,从 parent 表继承:
create table child(age int) inherits (parent);

插入数据:
insert into parent values(1, 'a');
insert into child values(2, 'b', 2);

查询父表、子表数据:

db=# select * from parent;
id | name
----+------
1 | a
2 | b
(2 rows)
db=# select * from child;
id | name | age
----+------+-----
2 | b | 2
(1 row)
db=# select * from only parent;
id | name
----+------
1 | a
(1 row)

  • 查询父表(parent)会将子表的数据也一起查出来。
  • 查询子表(child)则只有子表数据能被查出来。
  • 如果只想查父表数据,不包含子表数据,需要加 only 关键字,来限定只查父表数据。update, delete 同样支持 only 关键字。
    • update only parent set name = 'c';
    • delete from only child where name='b';

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论