sql语句--视图view

一、视图的简单介绍

当查询的复杂度比较大时,多表,多关系,会导致查询语句混乱,不利于sql语句的编写和编写的sql语句的可读性,于是,退出了视图模式

视图模式是对一个查询结果,进行记录,视图里面只存放语句,不存放结果,,类似于虚表

视图里面先创建查询,后展示

视图里面只放语句,不放数据,只能查询,不能修改
 

二、使用视图的意义(优点)

1.简单

视图构建了一个虚拟的逻辑表,这个表里面的数据来自于指定的查询,而查询可以是多表联查,在使用的时候,我们可以直接对视图表里的数据进行查询,不用从原始表查询数据,逻辑更加清晰

2.安全

数据库有权限设置,但是没有对行和列的权限,所以如果没有对一个表里的数据设置不同的权限,mysql本身的权限设置有些不够,我们用视图查询用户需要的数据,用户基于视图进行查询

3.数据独立

一旦视图结构决定了,可以屏蔽掉结构变化给用户的影响,在原表当做增加的一列。

三、视图的缺点

视图会降低查询的效率:尤其在视图当中的查询当中,再次使用视图,

四、视图的建立

1、创建视图

CREATE VIEW 视图名 AS(SELECT COLUMN... FROM 表名 WHERE 表名);
需求:
1.查询所有姓孙的女生
普通查询(select语句)
select * from teacher where name like "孙%" and gender="女";
创建视图
create view teacher_sun as(select * from teacher where name like "孙%");
 
select * from teacher_sun where gender="女";
2.教育网站对用户的个人信息的限制
没有18888,不要联系我
创建视图,查询所有用户的个人信息(残缺版)
create view teacher_wedding as(select name,gender from teacher);
从残缺版里查询用户信息
select * from teacher_wedding where salary>=18888;

2.查看视图

show table status where comment="view";

3.删除视图

drop view teacher_sun;

也可以从navicat 中直接删除视图

猜你喜欢

转载自blog.csdn.net/weixin_44239541/article/details/88649405