PostgreSQL复合类型

1.定义复合类型

    定义中声明字段名称和类型,但不能声明约束(如not null)。注意不要忘记关键字AS。

 CREATE TYPE person AS (
  name varchar(20),
  age int
);

2.建表

CREATE TABLE student (
    id  int,
    information person
);

3.插入数据

insert into student values(1,('April',18));
insert into student values(2,('Harris',20));
insert into student values(3,('Amy',25));

4.访问复合类型

    与访问结构体中的成员一样,访问复合类型需要指明域和成员。注意要用括号()避免SQL解析器混淆,否则会报错。

select (information).name from student;

5.修改复合类型

    可以修改整个复合字段,也可以只修改复合字段的一部分。注意圆括号()的使用。

update student set information.age=21 where id=2;
update student set information=('Dave',17) where id=3;

6.查询

select * from student;

  PostgreSQL复合类型_第1张图片

 

 

你可能感兴趣的:(PostgreSQL)