**************************************
MySql视图view的使用:创建、修改、删除
***************************************
1. MySql创建视图
创建视图与创建表语法类似,不同的是创建视图是从一条查询语句创建的。视图创建后,可以像一张表一样使用,但只能用于数据查询,如:可以在一个查询中使用、可以在存储过程中、可以在另一个视图中使用。MySql创建视图语法如下:
CREATE VIEW视图名AS SELECT查询语句;
2. MySql视图修改
已经创建的视图,有时会需要修改其查询字段或查询条件,MySql视图修改语法如下:
ALTER VIEW视图名AS SELECT查询语句;
3. MySql视图删除
MySql视图删除语法与删除表DROP TABLE类型,语法如下:
DROP VIEW视图名;
3. MySql视图使用
创建好视图之后,可以直接通过视图名使用视图,语法如下:
SELECT * FROM视图名
***************************************
CREATE VIEW语句简介
***************************************
要在MySQL中创建新视图,请使用CREATE VIEW语句。在MySQL中创建视图的语法如下:
让我们更详细地查看了解以上语法。
视图处理算法
算法属性允许您控制MySQL在创建视图时使用的机制。MySQL提供三种算法:MERGE,TEMP TABLE和UNDEFINED。
使用MERGE算法,MySQL首先将输入查询与定义视图的SELECT语句组合成单个查询。然后MySQL执行组合查询以返回结果集。如果SELECT语句包含聚合函数,如:MIN,MAX,SUM,COUNT,AVG或DISTINCT,GROUP BY,HAVING,LIMIT,UNION,UNION ALL,子查询等等则不允许MERGE算法。如果SELECT语句没有引用表,则也不允许MERGE算法。如果不允许MERGE算法,MySQL将算法更改为UNDEFINED。注意,输入查询和视图定义中的查询到一个查询的组合被称为视图决议。
使用TEMP TABLE算法,MySQL首先根据定义视图的SELECT语句创建一个临时表,然后对该临时表执行输入查询。因为MySQL必须创建一个临时表来存储结果集,并将数据从基表移动到临时表,TEMP TABLE算法的效率低于MERGE算法。此外,