PostgreSQL支持字段使用定长或可变长的一维或多维数组。数组的类型可以是内建类型,自定义类型,枚举类型以及组合类型。目前不支持区域类型。
1.建表
create table test(
id int,
coll int[]
);
目前PostgreSQL中,声明数组长度和数组维度是没有意义的,根据实际插入的数据确定。
2.插入数据
数组的输入使用单引号‘’加大括号{}表示,各个元素简用逗号分隔。
insert into test values(1,'{1,2,3}');
insert into test values(2,'{4,5,6}');
也可以使用ARRAY构造器也可以输入数组数据。有关键字ARRAY,方括号[]和逗号分隔的元素值组成。
insert into test values(3,array[7,8,9]);
insert into test values(4,array[4,5,6]);
3.访问数组
select * from test;
访问数组中的元素时,在方括号内加数字就可以了,数组的下标默认从1开始。
select id, coll[1] from test;
还可以使用数组的切片。
select id, coll[2:3] from test;
4.修改数组
数组值可以整个替换,也可以只替换数组中的单个元素。
替换整个数组值。
update test set coll='{1,1,1}' where id=1;
替换数组中某一个元素值。
update test set coll[1] = 0 where id =1;