欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据库基础-视图

程序员文章站 2022-06-01 17:05:52
...
  • .什么是视图
    虚拟表,它是一张或多张表中的数据经过某种筛选后的显示方式,视图中的数据并不存在于视图当中,而是存在于被引用的数据表当中。
  • 视图的作用
    1.简化数据操作,不需要关心表的结构和关联,只专注所关心的数据。
    2.当业务复杂(涉及到多表连接)且数据量较大时,可以针对一些频次较高的操作创建视图,提升查询速度,减少服务器负载。
    3.提升安全性。1)用户只访问视图,而不授予访问基本表的权限。2)便于给不同类别的用户4.展示同一张基本表中的不同数据。
    视图的创建

使用 CREATE VIEW 语句创建视图

语法
CREATE VIEW 视图名称[(字段名1,字段名2...)]
AS
SELECT 查询语句
WITH CHECK OPTION

WITH CHECK OPTION
防止用户通过视图对数据进行插入、删除和更新时,操作不属于视图范围内的基本表数据。

  • 示例
示例
CREATE VIEW V_Student1
AS
SELECT *
FROM Student
  • 使用别名命名视图字段
create view v_student2(学号,姓名)
as
select stuno, stuname
from student


create view v_student3
as 
select classno as 班级编号,stuname 姓名
from  student


create view v_student4(学号)
as 
select stuno, stuname
from student

创建视图时的注意事项
CREATE VIEW 语句创建视图时,SELECT 子句里不能包括以下内容:

COMPUTE、COMPUTE BY 子句
ORDER BY 子句,除非在 SELECT 子句中有 TOP 关键字
OPTION 子句
INTO 关键字
临时表或表变量

create view v_student5(学号,姓名)
as 
select stuno, stuname
from student
order 
stuno

create  view v_student5(学号,姓名)
as
select top 3 stuname, stuname
from student

创建加密视图

系统视图中都有一个名为 INFORMATION_SCHEMA.VIEWS 的视图,该视图里记录了该数据库中所有视图的信息。

select *from infromation_schema.views
create view v_student6
with encryption
as 
select * from student 
where classno = 20040001

查看与修改视图\

  • 使用 SELECT 语句查看视图
SELECT 字段名1,字段名2...
FROM 视图名称

SELECT *
FROM V_Student6
  • 用 ALTER VIEW 修改视图
语法
ALTER VIEW 视图名称[(字段名1,字段名2...)]
AS
SELECT 查询语句

select *
from v_student2

alter view v_student2(班级编号, 姓名)
as 
select
ClassNo,StuName
from student
  • 使用 INSERT 语句插入数据

转载于:https://www.jianshu.com/p/fe0d91344ddb