在以上语法格式中,创建视图的语句由多条子句构成。接下来对该语法格式中的每个部分进行详细解析,具体如下。
l CREATE:表示创建视图的关键字。
l OR REPLACE:如果给定了此子句,表示该语句能够替换已有视图。
l ALGORITHM:为可选参数,表示视图选择的算法。
l UNDEFINED:表示MySQL将自动选择使用的算法。
l MERGE:表示将使用视图的语句与视图含义合并起来,使视图定义的某一部分取代语句的对应部分。
l TEMPTABLE:表示将视图的结果存入临时表,然后使用临时表执行语句。
l view_name:表示要创建视图的名称。
l column_list:为可选参数,表示属性清单,指定了视图中各个属性名,在默认情况下,它与SELECT语句中查询的属性相同。
l AS:表示指定视图要执行的操作。
l select_statement:表示从某个表或视图中查出某些满足条件的记录,将这些记录导入视图中。
l WITH CHECK OPTION:为可选参数,表示创建视图时要保证在该视图的权限范围之内。
l CASCADED:为可选参数,表示创建视图时需要满足与该视图有关的所有相关视图和表的条件,该参数为默认值。
l LOCAL:为可选参数,表示创建视图时只要满足该视图本身定义的条件即可。
以上是创建视图的语法格式,视图可以建立在一张表上,也可以建立在多张表上,接下来针对这两种情况分别进行讲解。 1.在单表上创建视图
这里利用准备好的数据,在emp表上创建视图view_emp,包含的列为id、name、sex、age和department。