openGauss 每日一练第 12 天打卡,我来了!又可以学习,真开心~

学习

今天第 12 课,学习openGauss定义数据类型。

课后作业打卡

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

1
2
3
4
5
create type lucifer_type as (a int,b char(20));
alter type lucifer_type rename to lucifer_tp;
alter type lucifer_tp add attribute c int;
alter type lucifer_tp drop attribute a;
\d lucifer_tp

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

1
2
3
4
create type lucifer_mj as enum ('a','b','c');
select * from pg_enum;
alter type lucifer_mj add value if not exists 'd' before 'c';
alter type lucifer_mj rename value 'd' to 'e';

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

1
2
3
4
5
6
7
create table lucifer (id int,name lucifer_tp,type lucifer_mj);
insert into lucifer values (1,('a',1),'a');
insert into lucifer values (2,('b',2),'b');
insert into lucifer values (2,('b',2));
insert into lucifer values (3,('c',3));
select * from lucifer;
select id,(name).b,type from lucifer;

4、删除类型

1
2
drop type lucifer_tp cascade;
drop type lucifer_mj cascade;

写在最后

今天的作业打卡结束!🎉