Postgresql存放数组形式的数据

本文详细介绍了Postgres数据库中如何使用可变长度的数组字段,包括字段创建、数据插入及查询操作。通过具体实例展示了数组数据类型的灵活性及其在查询中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Postgres 数据库允许把字段定义为可变长度的数组。数据类型既可以是内置类型,也可以是用户自定义的类型或枚举类型。

例如:
  创建表
    create table demo(name text,subject text[]);

  插入数据
    insert into demo values ('张三', '{"语文", "数学"}');
  或
    insert into demo values ('李四', Array['语文', '数学', '英语']);

注意:正确使用单引号和双引号


 查看数据
    select * from demo;
     name |     subject      
    ------+------------------
     张三 | {语文,数学}
     李四 | {语文,数学,英语}
    (2 rows)

通过数组数据访问数据

     select name from demo where subject[3]='英语';
    select
subject[1:2] from mytable;

要在数组中查找某个特定元素值, 可以使用ANY关键词。

    select name from demo where '英语' = ANY(subject);

要查找数组中所有值都匹配某个值, 可以使用ALL。

    select name from demo where '语文' = ALL(subject);

 

转载于:https://www.cnblogs.com/liangyy/p/10058706.html

### PostgreSQL 常见术语和名称 #### 关系型数据库管理系统 (RDBMS) PostgreSQL 是一种关系型数据库管理系统,提供 SQL 查询语言的实现。这种系统被广泛应用于各种规模项目中,因其支持标准事务处理、可靠性和高效的并发控制机制[^1]。 #### 实例 (Instance) 一个 PostgreSQL 安装对应于特定的数据目录 `$PGDATA`,这构成了所谓的实例。每个实例能够管理和维护多个独立的数据库实体,在默认配置下包含了 `postgres`, `template0`, 和 `template1` 这几个预定义好的数据库[^2]。 #### 数据库 (Database) 在单个 PostgreSQL 实例内可创建并管理多组逻辑上分离的数据集合——即各个单独的数据库。应用程序一旦连接至某具体数据库之后,默认仅限于此范围内操作而不允许跨越边界获取其他数据库里的资料。 #### 名称空间 / 模式 (Schema) 为了更好地组织内部对象如表格与索引等资源,每一个数据库都允许多种命名空间的存在;这些被称为 Schema 的结构有助于隔离不同应用场景下的数据集,从而简化权限分配及查询语句编写工作。 #### 表格 / 关系 (Relation/Table) 尽管大多数时候人们习惯称之为 "表",但在 PostgreSQL 文档和技术讨论里更常用的是 "Relation" 一词来指代存储记录条目的二维数组形式。这类结构由若干字段组成横向排列构成行(或 Tuple),纵向则形成列属性描述。 #### 记录 / 元组 (Tuple/Row) 对于每一条实际存放在表内的信息单元而言,“元组” 或者 “记录” 描述了该单位在整个数据集中所占据的位置及其具体内容特性。虽然外部交流时常混用这两个概念,但在官方文档中倾向于采用前者作为正式表述方式。 ```sql CREATE TABLE example_table ( id SERIAL PRIMARY KEY, name VARCHAR(50), value INTEGER ); INSERT INTO example_table(name, value) VALUES ('test', 10); SELECT * FROM example_table; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值