openGauss每日一练第18天
学习视图管理
学习对数据库视图的创建、删除、查询、修改,理解视图作用,完成课后作业。
创建t1表并插入数据
在omm用户下通过gsql -r连接数据库后,创建t1表和视图
omm=# CREATE TABLE t1(
omm(# c_customer_sk integer,
omm(# c_customer_id char(5),
omm(# c_first_name char(6),
omm(# c_last_name char(8)
omm(# );
CREATE TABLE
omm=# INSERT INTO t1 VALUES
omm-# (6885, 1, 'Joes', 'Hunter'),
omm-# (4321, 2, 'Lily','Carter'),
omm-# (9527, 3, 'James', 'Cook'),
omm-# (9500, 4, 'Lucy', 'Baker');
INSERT 0 4
创建t1_view视图
该视图只查询c_customer_id和c_first_name字段。
omm=# CREATE VIEW t1_view AS
omm-# SELECT c_customer_id, c_first_name FROM t1;
CREATE VIEW
omm=# SELECT * FROM t1_view;
c_customer_id | c_first_name
---------------+--------------
1 | Joes
2 | Lily
3 | James
4 | Lucy
(4 rows)
基于t1_view创建t1_view2
该视图最多只显示一条数据
omm=# create VIEW t1_view2 as SELECT * FROM t1_view LIMIT 1; CREATE VIEW omm=# select * from t1_view2; c_customer_id | c_first_name ---------------+-------------- 1 | Joes (1 row)
创建物化视图mv_test
物化视图与普通视图的区别就是物化视图有缓存,所以速度很快,我们通过materialized关键字创建。
omm=# create materialized view mv_test as select * from t1; CREATE MATERIALIZED VIEW --查看物化视图目前有多少行记录: omm=# select count(*) from mv_test; count ------- 5
插入数据并手动更新物化视图
omm=# INSERT INTO t1 VALUES (6885, 10, 'Heming', 'Heming'); INSERT 0 1 omm=# select count(*) from mv_test; count ------- 5
可以看到数据还是5行,接下来我们手动更新后再次查询
omm=# refresh materialized view mv_test; REFRESH MATERIALIZED VIEW omm=# select count(*) from mv_test; count ------- 6 (1 row)
可以看到数据更新。
删除视图t1_view、t1_view2、mv_test
omm=# drop view t1_view2; DROP VIEW omm=# drop view t1_view; DROP VIEW omm=# drop materialized view mv_test; DROP VIEW
注意:由于t1_view2依赖t1_view所以先要删除t1_view2再删除t1_view
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




