Mysql学习(九)

来源:互联网 发布:网络公关什么意思 编辑:程序博客网 时间:2024/05/17 00:50

视图的引入

1.虚拟的表,没有物理数据,是从一个或者多个表中导出来的

2.只存放了视图的定义,并没有数据,数据存在原来的表中

3.使用视图查询数据时,数据库系统会从原来的表中取出对应的数据。

 

视图的作用

1.使操作简便画

2.增加数据的安全性

3.提高表的逻辑独立性

 

创建视图

CREATE[ALGOR ={UNDEFIEND|MERGE|TEMPTABLE}]

VIEW 视图名【(属性清单)】

AS SELECT

[WIHT [CASCADED|LOCAL] CHECK OPTION];

 

 

ALGORITHM是可选参数,表示视图选择的算法;

“视图名”参数表示要创建的视图名称

“属性清单”是可选参数,其指定了视图中的各种属性的名词,默认情况下与SELECT语句中查询的数据相同;

SELECT语句参数是一个完整的查询语句,标识从某个表查询出某些满足条件的记录,将这些记录导入视图中;

WITH CHECK OPTION 是可选参数,表是否更新视图时要保证在该视图的权限范围之内。

 

ALGORITHM包括3个选项UNDEFINEDMERGRTEMPTABLE。其中,UNDEFINED选项表示Mysql将自动选择要所使用的算法;MERGE选项表示将使用视图的语句与视图定义合并起来使用,使得视图定义的某一部分取代语句的对应部分;TEMPTABLE选项表示将视图的结果存入临时表,然后使用临时表执行语句;

CASCADED是可选参数,表示更新视图是要满足所有相关视图和表的条件。该参数为默认值;

LOCAL表示更新视图时,要满足该视图本身的定义条件即可;

 

查看视图

DESCRIBE 语句查看视图基本信息

 

SHOW TABLE STATUS语句查看基本信息

SHOW CREATE VIEW 语句查看视图详细信息

views表中查看视图详细信息

 

修改视图

CREATE  OR  REPLACE  VIEW 语句修改视图

CREATE OR REPLACE [ALGORITHM=(UNDEFINED|MERGE|TEMPTABLE)]

VIEW 视图名[(属性清单)]

AS SELECT 语句

[WITH[CASCADED|LOCAL]CHECK OPTION];

 

 

ALTER语句修改视图

ALTER [ALGORITHM=(UNDEFINED|MERGE|TEMPTABLE)]

VIEW 视图名[(属性清单)]

AS SELECT 语句

[WITH[CASCADED|LOCAL]CHECK OPTION]];

 

 

 

更新视图

更新视图是指通过视图来插入(insert)、更新(update)和删除(delete)表中的数据。因为视图是应该虚拟的表,其中没有数据。通过视图更新时,都是转换基本表来更新。更新视图时,只能更新权限范围内的数据。超出了范围,就不能更新。

 

插入(INSERT

 

更新(UPDATE

 

删除(DELETE

 

 

删除视图

删除视图时指删除数据库中已经存在的视图。删除视图时,只能删除视图的定义,不会删除数据;

DROP VIEW [IF EXISTS] 视图名列表[RESTRIC|CASCADE]

 

 

0 0
原创粉丝点击