创建复合数据类型,并用复合数据类型建表,插入复合类型,并将其读取出来:
创建枚举类型,并查看:
修改类型名称:
给复合数据类型增加属性
不能这样写:
只能这样写:
这貌似有点尴尬。
删除属性:
枚举型增加标签值:
删除标签值:
好像并不支持。
重命名标签:
删除类型(如果类型有依赖则提示不能删。)
强行删除类型:
此时,含该类型的数据库表字段也被删除:
删除枚举类型:
开始做作业:
1.创建一个复合类型,重命名复合类型,为复合类型增加属性、删除属性
create type my_type as
(
id integer,
name varchar(20)
);
alter type my_type rename to my_type2;
alter type my_type2 add attribute age integer;
alter type my_type2 add attribute address varchar(100);
alter type my_type2 drop attribute age;
2.创建一个枚举类型,新增标签值,重命名标签值
create type my_enum as enum('1','2','3');
alter type my_enum add value if not exists '4' before '3';
alter type my_enum rename value '4' to '2.5';
3.使用新创建的类型创建表
create table my_table
(col1 my_type2,
col2 my_enum);
insert into my_table values ((333,'zhanghui','nanjing'),'2.5');
select * from my_table;
\d my_table;
4.删除类型
drop type my_type2;
drop type my_type2 cascade;
\d my_table;
drop type my_enum;
drop type my_enum cascade;
\d my_table;
这就搞出了一张空表。。。LOL
额,下课!