postgresql 复合数据类型的使用方法

news/2024/7/9 22:25:53 标签: 数据库, postgresql, 复合数据类型

postgresq 数据库的数据类型分为4种:基本数据类型、复合数据类型、域以及伪类型

基本类型:数据库内置数据类型,例如integer、char、varchar等

复合数据类型:需要用户自定义,所谓复合就是把多个基本类型融合在一起使用,复合类型的字段实际上就是一个特殊的数组

域:一种特殊的基本数据类型,由基本数据类型加上约束条件构成

伪类型:“伪”说明它不是真正的数据类型,这些数据类型不能作为表的列类型,只能作为函数的参数或返回值的数据类型


好了,下面说说这个复合数据类型如何使用:

首先创建一个复合类型:

create type s_type as (
	id integer,
	name varchar,
	addr text
);

创建该类型的表:

create table s_table (
	student s_type
);

插入数据:

insert into s_table values ((1,'zhangsan','陕西省'));

查询数据:

select * from s_table;                  //查询全部
select (student).name from s_table;     //查询student字段的name值


http://www.niftyadmin.cn/n/1727575.html

相关文章

华为机试:污染水域

【编程题目 | 200分】污染水域 [ 200 / 中等 ] 题目描述 输入一行字符串,字符串可转换为N*N的数组,数组可认为是一个水域,判断多少天后,水域被全部污染。 数组中只有0和1,0表示纯净,1表示污染&#xff0c…

postgresql 不同索引所支持的字段数据类型

postgresql常用的索引类型有btree,hash,gin,gist,spgist,brin这六种,btree和hash不同多说,最长用的了,基本都支持,下边针对gin,gist,spgist以及br…

shell 版本号比较_用shell如何比较软件版本号的大小

shell 版本号比较_用shell如何比较软件版本号的大小

华为机试:打印任务排序

【编程题目 | 200分】打印任务排序 [ 200 / 中等 ] 题目描述 某个打印机根据打印队列执行打印任务。打印任务分为九个优先级,分别用数字1-9表示,数字越大优先级越高。打印机每次从队列头部取出第一个任务A,然后检查队列余下任务中有没有比A…

Node.js通过write、read以字节为单位来写、读

//这是write数据,虽然是先写内容,再写长度,但是注意长度写在了内容前边,写内容前空了两个字节来写长度,//所以read时,是先read长度,再read内容 var buf new Buffer(64); buf.fill(0); var offset 10 var…

JSON对象字符串数组多字段(多列)排序

JSON对象字符串数组,多字段(多列)排序 今天看到我写的另一篇JSON对象数组排序的文章,突然想到了另一种,更简便,更快速的方法,排序结果跟原来的一样: function newSort(objArr, key…

华为机试:连续出牌数量

【编程题目 |200分】连续出牌数量【2022 Q1,Q2考试题】 题目描述 手里给一副手牌,数字从0-9,有r(红色),,g(绿色),b(蓝色),y(黄色)四种颜色,出牌规则为每次打出的牌必须跟上一张的数字或者颜色…

两张表联合查询,并统计其中一张表在关联条件下的数据个数

SELECT a.dfsname, COUNT(b.dfsid) AS instnum FROM tbl_dfslist a LEFT JOIN tbl_instance b ON a.id b.dfsid GROUP BY a.id; (其中tbl_dfslist.id tbl_instance.dfsid)