PostgreSQL数组类型怎么定义
2023-04-18 14:24:32 时间
PostgreSQL数组类型怎么定义
PostgreSQL支持表的字段使用定长或可变长度的一维或多维数组,数组的类型可以是任何数据库内建的类型、用户自定义的类型、枚举类型,以及组合类型。但目前还不支持 domain 类型。
推荐:postgresql教程
数组类型的定义就是通过在数组元素类型名后面附加中括号 [] 来实现的,中括号中可以给一个长度数字,也可以不给。
定义指定多维数组的维度也是没有意义的,数组的维度是根据实际插入的数据来确定的,如下两个语句意义是一样的:
CREATE TABLE test1 (id int, col1 int[], col2 int[10], col3 text[][]); CREATE TABLE test2 (id int, col1 int[10], col2 int[], col3 text[]);
1、输入数组值
可以使用 ARRAY 构造器语法输入数据,一个数组构造器是一个表达式,它从自身的成员上构造一个数组值。
一个简单的数组构造器由关键字 ARRAY、[、一个或多个表示数组元素值的表达式(用逗号分隔)、] 组成
INSERT INTO test values(1, ARRAY['os', 'dba']); INSERT INTO test values(1, ARRAY['os"dba', '123"456']); INSERT INTO test values(1, ARRAY['os''dba', '123''456']); // 多维数组,在向多维数组插入值时,各个维度的元素个数必须相同,否则会报错 INSERT INTO test values(1, ARRAY[['os', 'dba'],['dba', 'os']]);
2、访问数组
默认情况下,数组的下标是从 1 开始的,但也可以指定下标的开始值,如下:
CREATE TABLE test02 (id int[]); INSERT INTO test02 values('[2:4] = {1, 2, 3}'); SELECT id[2], id[3], id[4] FROM test02;
指定上下标的格式为:
'[下标:上标] = [元素值1,元素值2,元素值3,...]'
可以使用数组的切片,如下所示:
SELECT id, col[1:2] FROM test02;
更多技术请关注Python视频教程。
相关文章
- Python使用tkinter组件Label显示简单数学公式
- 内网渗透之DCOM横向移动
- 以目标为导向的语义交流的共同语言——一个课程学习框架
- python爬虫前奏【成信笔记】
- HTML 5 File API:文件拖放上传功能
- 教你快速创建 Python 虚拟环境
- pyenv 实现Python多版本自由切换
- 用 Python 对 Excel文件进行批量操作
- Python - 接入钉钉机器人
- Python - 抓取 iphone13 pro 线下店供货信息并发送到钉钉机器人,最后设置为定时任务
- crontab - 解决 mac 下通过 crontab 设置了 Python 脚本的定时任务却无法运行
- [源码解析] PyTorch分布式(5) ------ DistributedDataParallel 总述&如何使用
- Python科普系列——类与方法(上篇)
- SAP对STO的交货单执行PGI,报错 -Fld selectn for mvmt type 643 acct 400020 differs
- Spring Boot 实现通用 Auth 认证的 4 种方式
- 盘点4种使用Python批量合并同一文件夹内所有子文件夹下的Excel文件内所有Sheet数据
- OushuDB 学习经验分享(三):技术特点
- Java和Python思维方式的不同之处
- Python中日志记录新技能
- 奥比中光Gemini OpenCV—Python使用