什么是视图

视图是MySQL数据库中的虚拟表,用于复用复杂SQL语句并提高数据安全性,它不存储数据,而是基于基本表动态生成。视图可以简化查询,提供数据抽象和逻辑数据独立性,但可能影响性能并对修改操作有限制。另一方面,游标是一个数据缓冲区,用于在执行SQL语句后逐条处理结果集。
摘要由CSDN通过智能技术生成

为什么要使用视图?什么是视图?

为了提高复杂SQL语句的复用性和表操作的安全性,MySQL数据库管理系统提供了视图特性。所谓视

图,本质上是一种虚拟表,在物理上是不存在的,其内容与真实的表相似,包含一系列带有名称的列和

行数据。但是,视图并不在数据库中以储存的数据值形式存在。行和列数据来自定义视图的查询所引用

基本表,并且在具体引用视图时动态生成。

视图使开发者只关心感兴趣的某些特定数据和所负责的特定任务,只能看到视图中所定义的数据,而不

是视图所引用表中的数据,从而提高了数据库中数据的安全性

视图有哪些特点?

视图的特点如下:

视图的列可以来自不同的表,是表的抽象和在逻辑意义上建立的新关系。

视图是由基本表(实表)产生的表(虚表)

视图的建立和删除不影响基本表。

对视图内容的更新(添加,删除和修改)直接影响基本表。

当视图来自多个基本表时,不允许添加和删除数据。视图的操作包括创建视图,查看视图,删除视

图和修改视图。

视图的使用场景有哪些?

视图根本用途:简化sql查询,提高开发效率。如果说还有另外一个用途那就是兼容老的表结构。

下面是视图的常见使用场景:重用SQL语句;

简化复杂的SQL操作。在编写查询后,可以方便的重用它而不必知道它的基本查询细节;使用表的

组成部分而不是整个表;

保护数据。可以给用户授予表的特定部分的访问权限而不是整个表的访问权限;

更改数据格式和表示。视图可返回与底层表的表示和格式不同的数据

视图的优点

1. 查询简单化。视图能简化用户的操作

2. 数据安全性。视图使用户能以多种角度看待同一数据,能够对机密数据提供安全保护

逻辑数据独立性。视图对重构数据库提供了一定程度的逻辑独立性

视图的缺点

1. 性能。数据库必须把视图的查询转化成对基本表的查询,如果这个视图是由一个复杂的多表查询所

定义,那么,即使是视图的一个简单查询,数据库也把它变成一个复杂的结合体,需要花费一定的

时间。

2. 修改限制。当用户试图修改视图的某些行时,数据库必须把它转化为对基本表的某些行的修改。事

实上,当从视图中插入或者删除时,情况也是这样。对于简单视图来说,这是很方便的,但是,对

于比较复杂的视图,可能是不可修改的这些视图有如下特征:

1. UNIQUE等集合操作符的视图。

2.GROUP BY子句的视图。

3.有诸如AVG\SUM\MAX等聚合函数的视图。4.使用DISTINCT关键字的视图。

5.连接表的视图(其中有些例外)

什么是游标?

游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果,每个游标区都有一个名字。用户

可以通过游标逐一获取记录并赋给主变量,交由主语言进一步处理

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

向前齐步走

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值