暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

openGauss每日一练第12天 | 数据类型学习

原创 大道至简 2021-12-30
534

学习openGauss定义数据类型,课后作业打卡;

1.创建一个复合类型,重命名复合类型,为复合类型增加属性、删除属性

create type my_type as (fuhe01 int,fuhe02 char(20));
alter type my_type rename to my_type_new;
alter type my_type_new add attribute fuhe03 int;
alter type my_type_new drop attribute fuhe01;
\d my_type_new

QQ截图20211230182145.jpg

2.创建一个枚举类型,新增标签值,重命名标签值

create type type_meiju as enum ('tab1','tab2','tab3');
select * from pg_enum;
alter type type_meiju add value if not exists 'tab4' before 'tab3';
alter type type_meiju rename value 'tab4' to 'tab5';
omm=# select * from pg_enum;
 enumtypid | enumsortorder | enumlabel 
-----------+---------------+-----------
     16393 |             1 | tab1
     16393 |             2 | tab2
     16393 |             3 | tab3
     16393 |           2.5 | tab5
(4 rows)

QQ截图20211230182240.jpg

3.使用新创建的类型创建表

create table t_ddzj (id int,name my_type_new,type type_meiju);
insert into t_ddzj values (1,('china',1),'tab1');
insert into t_ddzj values (2,('beijing',2),'tab3');
insert into t_ddzj values (2,('shanghai',2));
insert into t_ddzj values (3,('guangzhou',3));
select * from t_ddzj;
select id,(name).fuhe02,type from t_ddzj;

QQ截图20211230182312.jpg

4.删除类型

drop type my_type_new cascade;
drop type type_meiju cascade;

omm=# drop type my_type_new cascade;
NOTICE:  drop cascades to table t_ddzj column name
DROP TYPE
omm=# drop type type_meiju cascade;
NOTICE:  drop cascades to table t_ddzj column type
DROP TYPE

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论