一、游标
游标是对查询出来的结果集作为一个单元来有效的处理。游标可以定在该单元中的特定行,从结果集的当前行检索一行或多行。可以对结果集当前行做修改。一般不使用游标,但是需要逐条处理数据的时候,游标显得十分重要。
- 游标的理解:可以把游标当成一个指针,它总是指向某一行来对其进行操作。
- 游标的特点:游标是针对某一行操作的。游标需要占用很多资源。
- 游标的作用:游标可以定位到记录集中特定的行上并进行操作。
- 游标的使用:如图:
图中有四个步骤:声明、打开、提取数据和关闭或释放游标。关于提取数据我们可以定义不同的方式,我们可以按照我们定义的方式来拨动指针的指向方向从而指向我们需要的记录。
二、视图
视图是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查。视图通常是有一个表或者多个表的行或列的子集。对视图的修改不影响基本表。它使得我们获取数据更容易,相比多表查询。
- 视图的理解:视图是一个数据库对象,可以把它理解成一个基于表的一个查询方式。
- 视图的特点:视图中只存储一个查询方式的定义,只是在打开的时候通过该定义在基表中查询,把查询得到的数据作为一个对象展现给用户。因此说其实视图是一个虚拟的表。
- 视图的作用:视图可以进行数据过滤,将用户不需要或泄露私密信息的数据过滤掉,只将有用的数据作为一个单独的对象展现出来。
三、比较结果
- 游标和视图的本质是不同:一个是作为指针操作,一个是作为数据库对象来展现给用户。
- 占用的资源不用:游标占用的资源很大,而视图占用的资源很小。
- 工作方式不同:游标对需要的数据操作是针对行进行操作的,而视图是针对基表的一个整体的查询。