实验8 视 图

更新于 2026年10月10日 版权声明
实验8 视 图 图示

视图是从一个或者几个基本表导出的表,是一个虚表。在定义一个视图时,只是把其定义存放在系统数据库中,而不是直接存储视图对应的数据,直到用户使用视图时才去查找对应的数据。视图一经定义,就可以和基本表一样被查询,也可以在一个视图之上再定义新的视图,但是对视图的更新(增加、删除、修改)操作则有一定的限制。

【实验目的】

①理解视图的概念和作用。

②掌握视图创建的方法。

③掌握视图删除的方法。

④掌握视图更新的方法。

【知识要点】

(1)创建与更新视图的语法格式

CREATE

    [OR REPLACE]

    [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]

    [DEFINER = user](https://www.daowen.com)

    [SQL SECURITY {DEFINER | INVOKER}]

    VIEW view_name [(column_list)]

    AS select_statement

[WITH [CASCADED | LOCAL] CHECK OPTION]

说明:其中常用的子句或参数解释如下。

①[OR REPLACE] 表示当已具有同名的视图时,将覆盖原视图。

②ALGORITHM:表示视图选择的算法。

• UNDEFINED:MySQL自动选择所要使用的算法。

• MERGE:将使用视图的语句与视图定义合并起来。

• TEMPTABLE:将视图的结果存入临时表,然后使用临时表执行语句。建临时表开销较大,适合于较复杂的视图,比如有聚合函数的视图等。

③WITH CHECK OPTION:强制视图上执行的所有数据修改语句都必须符合由 select_statement 设置的准则。通过视图修改行时,WITH CHECK OPTION 可确保提交修改后,仍可通过视图看到修改的数据。

④CASCADED:修改视图时,需要满足与该视图有关的所有相关视图和表的条件,该参数为默认值。

⑤LOCAL:修改视图时,只要满足该视图本身定义的条件即可。

(2)删除视图的语法格式

    DROP VIEW [IF EXISTS]
    view_name [, view_name] ...
    [RESTRICT | CASCADE]

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)