MySQL数据试图

本文介绍了视图在数据库中的概念,它是如何作为虚拟表来简化查询、保护数据复杂性和权限管理的。重点讲解了视图的创建语法、优点(如数据集中、权限管理、数据共享)以及使用时需注意的要点,包括视图的命名规则、更新限制等。
摘要由CSDN通过智能技术生成

视图概述

视图是从一个或多个表(或视图)导出的表。视图与表(有时为与视图区别,t2表为基本表( Base Table )不同,视图是一个虚表,即视图所对应的数据不进行实际存体,数据库中只存储视图的定义,对视图的数据进行操作时,系统根据视图的定义图相关联的基本表。

视图一经定义,就可以像表一样被查询、 修改、删除和更新。使用视图有下列优点,①为用户集中数据,简化用户的数据查询和处理。有时用户所需要的数据分放在多个表中,定义视图可将它们集中在-一起,从而方便用户的数据查询和处理。

2屏蔽数据库的复杂性。用户不必了解复杂的数据库中的表结构,并且数据库表的更改也不影响用户对数据库的使用。

③简化用户权限的管理。只须授予用户使用视图的权限,而不必指定用户只能使用表的特定列,也增加了安全性。

④便于数据共享。各用户不必都定义和存储自己所需的数据,可共享数据库的数据,这样同样的数据只需存储一一次。

5可以重新组织数据以便输出到其他应用程序中。

视图的创建

语法格式:

CREATE [OR REPLACE] VIEW视图名[(列名列表]

语法说明:

。列名列表使用可选的列名列表子句为视图的列定义明确的名称,在列名列表于句中用逗号隔开列名。列名列表中的名称数目必须等于SELECT语句检索的列数,若使用与源表或视图中相同的列名时可以省略列名列表。

。OR REPLACE, 给定OR REPLACE子句,语句能够替换已有的同名视图,SELECT语句,用来创建视图的SELECT语句,可在SELECT语句中查询多或视图。

WITH CHECK OPTION, 指出在可更新视图上所进行的修改都要符合语句所指定的限制条件,这样可以确保数据修改后仍可当视图足根据另一个视图定义时,WITH CHECK OPTION给出两个参数和CASCADED.其决定检查测试的范四LOCAL关健字使CHECKE OPTIH)对定义的视图进行检查,CASCADED 则会对所有视图进行检查,CASCADED.

使用视图时,要注意下列事项:

你撤回了一条消息

何伟平 14:06:17
1)在默认情况下,将在当前数据库创建新视图。要想在给定数据库中明确创建视图,1创建时应将名称指定为db name.view name

2)视图的命名必须遵循标志符命名规则,不能与表同名,且对每个用户视图名必须是唯一-的,即对不同用户,即使是定义相同的视图,也必须使用不同的名字。

3)不能把规则、默认值或触发器与视图相关联。

4)不能在视图上建立任何索引,包括全文索引。

5)视图中使用SELECT语句有以下的限制。

①定义视图的用户必须对所参照的表或视图有查询(即可执行SELECT语句)权限;在定义中引用的表或视图必须存在。

②不能包含FROM子句中的子查询;不能引用系统或用户变量;不能引用预处理语句参数。

③在视图定义中允许使用ORDERBY子句,但是,如果从特定视图进行了选

通过视图操作 数据

1.可更新视图

要通过视图更新基本表数据,必须保证视图是可更新视图,即可以在INSET.(或DELETE等语句中使用它们。对于可更新的视图,在视图中的行和基表中的行之间名须具有一对一的关系。 有一些特定的其他结构,这类结构会使得视里不可更新若就出区含以下结构中的任何一种,其就是不可更新的:

①聚合函数。

2 DISTINCT关键字。

3 GROUP BY子句。

④ORDERBY子句。

⑤HAVING子句。

⑥UNION运算符。

7位于选择列表中的子查询。

⑧FROM子句中包含多个表。

⑨SELECT语句中引用了不可更新视图。

10 WHERE子句中的子查询,引用FROM子句中的表。

当使用视图插入数据时,如果在创建视图时加上WITH CHECK OPTION子句,WItTHCHECK OPTION 子句会在更新数据时检查新数据是否符合视图定义中WHERE子句的条件。WITH CHECK OPTION子句只能和可更新视图一起使用。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值