mysql中的视图知识点总结

mysql中的视图指什么?

答:视图: view, 是一种有结构(有行有列)但是没结果(结构中不真实存放数据)的虚拟表, 虚拟表的结构来源不是自己定义, 而是从对应的基表中产生(视图的数据来源)


视图的关键字是什么?

答:view。 


视图的意义?

答:

1. 视图可以节省SQL语句。将一条复杂的查询语句使用视图进行保存,以后可以直接对视图进行操作

2. 隐藏基表,保证数据安全。视图操作是主要针对查询的, 如果对视图结构进行处理(删除), 不会影响基表数据(相对安全).

3. 可有选择的对外提供数据。视图往往是在大项目中使用, 而且是多系统使用: 可以对外提供有用的数据, 但是隐藏关键(无用)的数据。

4. 对外提供友好型服务。不同的视图提供不同的数据, 对外好像专门设计。

5. 视图可以更好(容易)的进行权限控制

 

什么是单表视图?

答:基表只有一个。

 

什么是多表视图?

答:基表至少两个。

 

视图对外提供的主要功能是什么?

答:查询。视图是一张虚拟表,按照对表的查询来查询视图就好了。一般情况下,我们会限制对视图的增、删、改操作。

 

视图本身有数据吗?

答:没有。我们可以把视图理解为一个没有存货的经销商,客户去经销商处买商品,经销商本身没有商品,而是到供应商处拿到商品,然后再卖给客户。

 

既然视图本身没有数据,那么我们可以对视图进行增、删、改、查操作吗?为什么?

答:可以。视图没有数据,但是视图对应的基表有数据,我们对视图进行增、删、改、查操作,实际上是对视图对应的基表进行增、删、改、查操作。

什么是视图算法?

答:系统对视图以及外部查询视图的Select语句的一种解析方式.

 

视图算法分几种?

答:视图算法分为三种

Undefined: 未定义(默认的), 这不是一种实际使用算法, 是一种推卸责任的算法: 告诉系统,视图没有定义算法, 系统自己看着办

Temptable: 临时表算法: 系统应该先执行视图的select语句,后执行外部查询语句

Merge: 合并算法: 系统应该先将视图对应的select语句与外部查询视图的select语句进行合并,然后执行(效率高: 常态)

 

如何创建一个视图?

答:create view 视图名字 as select语句; -- select语句可以是普通查询;可以是连接查询; 可以是联合查询; 可以是子查询.

 

如何删除一个视图?

答:drop view 视图名;

 

如何修改一个视图?

答:Alter view 视图名字 as 新的select语句;

例子:alter view my_view1 as select id,name,sex from my_student;

 

如何查看一个视图?

答:视图是一张虚拟表,像查看表一样查看视图就好了。

Show tables;

Desc table 视图名;

Show create table 视图名;

Select * from 视图名;

 

如何向视图中增、删、改、查数据?

答:用的时候看讲义。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值