3.11 复合类型

3.11.1 定义复合类型

  1. 创建复合类类型

    CREATE TYPE  AS {
    	字段名  类型,
    	字段名  类型
    }
    
    举例:
    CREATE TYPE person AS (
        name   text,
        age    integer,
        sex    boolean
    );

    注意:AS很重要

  2. 建表时声明复合字段

    CREATE TABLE author(
    	id int,
    	person_info 复合类型名,
    	book text
    );

3.11.2 复合类型插入数据

  1. 对应字段按照定义的顺序添加参数'( val1 , val2 , ... )'即可

  2. 上述表格案例举例:

    insert into author values(5, ('张三', 29, TRUE), '自传');

3.11.3 访问复合类型

  1. 复合类型类似一个对象,获取期中的某个值可以用.来进行拼接,但需要针对字段名添加括号

    select (person_info).name from author;

3.11.4 修改复合类型

  1. 可以按照插入的方式直接修改成修改的方式进行更新操作

    UPDATE author SET person_info = ROW('李四', 39, TRUE) WHERE id =1;
  2. 也可以单独更新某一个复合类型内部的字段:

    UPDATE author SET person_info.name ='王二二' WHERE id =2;

    注意:SET后面不能加()

3.11.5 复合类型的输入输出

最后更新于