3.11 复合类型
3.11.1 定义复合类型
创建复合类类型
CREATE TYPE 名 AS { 字段名 类型, 字段名 类型 } 举例: CREATE TYPE person AS ( name text, age integer, sex boolean );注意:AS很重要
建表时声明复合字段
CREATE TABLE author( id int, person_info 复合类型名, book text );
3.11.2 复合类型插入数据
对应字段按照定义的顺序添加参数
'( val1 , val2 , ... )'即可上述表格案例举例:
insert into author values(5, ('张三', 29, TRUE), '自传');
3.11.3 访问复合类型
复合类型类似一个对象,获取期中的某个值可以用
.来进行拼接,但需要针对字段名添加括号select (person_info).name from author;
3.11.4 修改复合类型
可以按照插入的方式直接修改成修改的方式进行更新操作
UPDATE author SET person_info = ROW('李四', 39, TRUE) WHERE id =1;也可以单独更新某一个复合类型内部的字段:
UPDATE author SET person_info.name ='王二二' WHERE id =2;注意:SET后面不能加
()
3.11.5 复合类型的输入输出
最后更新于