视图---创建、定义及删除

本文详细介绍如何使用SQL命令创建和管理多种类型的视图,包括学生信息、特定条件下的学生数据、课程成绩统计等,为数据库操作提供便利。

1、 建立查询学生的学号、姓名、性别和年龄的视图。(视图名为view1)

  • 用SQL命令创建视图
create view view1
as 
select Sno,Sname,Sex,Sage
from student
  • 删掉建立的视图
drop view view1

2、 查询计算机系年龄小于20的女 学生的学号、姓名和年龄的视图。(视图名为view2)

  • 用SQL命令创建视图
create view view2
as
select Sno,Sname,Sage
from student
where (sdept='计算机')and(Sage<20and(Sex='女')
  • 删掉建立的视图
drop view view2

3、 建立计算机系选修了C1课程的学生的学号、姓名和成绩的视图。(视图名为view3)

  • 用SQL命令创建视图
create view view3
as
select student Sno,Sname,Grade
from student join SC on student.Sno=SC.Sno//join on 就是表连接
where sdept='计算机'and SC.Cno='C1'
  • 删掉建立的视图
drop view view3

4、定义一个查询学生出生年份的视图,列出学号,姓名和出生年份。(视图名为view4,出生年份列名为出生年份)

  • 用SQL命令创建视图
create view view4 (Sno,Sname,Sbirth)
as
select Sno,Sname,2019-Sage
from student
  • 删掉建立的视图
drop view view4

5、 定义一个查询平均成绩大于85的学生的学号和平均成绩的视图。(视图名为view5)

  • 用SQL命令创建视图
create view view5(Sno,avg)
as
select Sno,avg(Grade)
from SC
group by Sno//group by 分组
having(avg(Grade)>85)//having 筛选满足条件的组
  • 删掉建立的视图
drop view view5

6、 定义一个选修“数据库”课程的学生学号、姓名、系及成绩的视图,并按成绩降序排列。(视图名为view6)

  • 用SQL命令创建视图
create view view6
as
select student.Sno,Sname,Sdept,Grade
from course join Sc on course.cno=Sc.cno join student on SC.Sno=student.Sno
where (course.Sname='数据库')
order by SC.Grade desc
  • 删掉建立的视图
drop view view6
### 创建管理视图的教程 在 openGauss 数据库中,视图是一种虚拟表,其内容由查询定义创建管理视图的过程包括创建视图查询视图、查看视图的具体信息以及删除视图等操作。 #### 1. 创建视图 创建视图可以通过 `CREATE VIEW` 或 `CREATE OR REPLACE VIEW` 命令实现。以下是一个示例命令[^3]: ```sql CREATE OR REPLACE VIEW MyView AS SELECT * FROM tpcds.web_returns WHERE trunc(wr_refunded_cash) > 10000; ``` 此命令将创建一个名为 `MyView` 的视图,该视图从 `tpcds.web_returns` 表中选择所有退款金额大于 10000 的记录[^3]。 #### 2. 查询视图 查询视图查询普通表类似。可以使用 `SELECT` 语句直接查询视图的内容。例如: ```sql SELECT * FROM MyView; ``` 这将返回视图 `MyView` 中的所有数据[^1]。 #### 3. 查看视图的具体信息 要查看视图的具体定义或相关信息,可以使用系统表或元数据查询。例如,通过查询 `pg_views` 系统视图可以获取视图定义信息: ```sql SELECT viewname, definition FROM pg_views WHERE schemaname = 'public' AND viewname = 'myview'; ``` 上述命令将返回视图 `MyView` 的定义语句。 #### 4. 删除视图 如果不再需要某个视图,可以使用 `DROP VIEW` 命令将其删除。例如: ```sql DROP VIEW MyView; ``` 执行此命令后,视图 `MyView` 将被删除[^2]。 #### 注意事项 -创建视图时,确保基础表的数据完整性,因为视图依赖于这些基础表。 - 如果基础表被修改或删除,可能会影响视图的正常运行。 - 使用 `CREATE OR REPLACE VIEW` 时需谨慎,因为它会覆盖已存在的视图定义[^3]。 ### 示例代码块 以下是一个完整的示例,展示如何在 openGauss 数据库创建查询删除视图: ```sql -- 创建视图 CREATE OR REPLACE VIEW MyView AS SELECT * FROM tpcds.web_returns WHERE trunc(wr_refunded_cash) > 10000; -- 查询视图 SELECT * FROM MyView; -- 查看视图定义 SELECT viewname, definition FROM pg_views WHERE schemaname = 'public' AND viewname = 'myview'; -- 删除视图 DROP VIEW MyView; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值