视图
视图 :查询结果组成的虚拟的表
优点:权限控制,查询效率,保证信息安全
视图是一张虚拟表
表示一张表的部分数据或多张表的综合数据
其结构和数据是建立在对表的查询基础上
视图中不存放数据
数据存放在视图所引用的原始表中
一个原始表,根据不同用户的不同需求,可以创建不同的视图
视图的用途:
筛选表中的行。
防止未经许可的用户访问敏感数据表。
多个物理数据表抽象为一个逻辑数据表
创建视图格式
CREATE VIEW 视图名
AS
<SELECT语句>
例:CREATE VIEW vw_student_socre
AS
SELECT name AS 学生姓名,stu.stuid AS 学号,socre AS 成绩 ,subname AS 课程名称 FROM student stu
INNER JOIN score sc on stu.stuid =sc.stuid
INNER JOIN `subject` su ON sc.subid =su.subid
WHERE subname='MySQL';
查看视图
SELECT * FROM 视图名;
删除视图
DROP VIEW 视图名;
查看试视图结构
DESC 视图名;
查看视图
SHOW CREATE VIEW 视图名;
修改视图
alter view 视图名
as
select 语句
执行以上语句会把原有的视图定义覆盖到,顾名思义:
又新建了一个视图。建议把原有的视图删掉,重新建视图。
视图与表的关系
当表发改变:视图是表的查询结果,自然表的数据改变了,影响视图的结果
视图的增删改也会影响到表,但是 ,视图并不是总能增删改的。
视图的数据与表的数据一一对应时,才可以修改
视图好处:
使用视图,可以定制用户数据,聚焦特定的数据。
使用视图,可以简化数据操作。
使用视图,基表中的数据就有了一定的安全性
可以合并分离的数据,创建分区视图