文章目录
1 视图概述、创建视图
1.1 基本概念
1.2 创建视图
(1)在单表中创建视图
(2)在多表中创建视图
(3)在视图中创建新视图
2 查看视图、修改视图
2.1 查看视图
2.2 修改视图
3 视图数据更新、删除
3.1 视图数据更新
3.2 删除视图
1 视图概述、创建视图
1.1 基本概念
视图是一个虚拟表,是 sql 的查询结果,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据,在使用视图时动态生成。视图的数据变化会影响到基表,基表的数据变化也会影响到视图。
1.2 创建视图
使用 create view 语句创建视图语法为:
create [or replace]# 可替换已有的视图
[algorithm ={ undefined|merge|temptable }]# 视图算法的选择
view view_name[(column_list)]# 视图名,后可自定义视图列表名
as select_statement# 视图的定义
[with[ cascaded|local] check option ] ;# 权限设置
说明:
create: 表示创建新的视图;
or replace:表示如果该视图已经存在,则用新视图代替它,若视图不存在则创建新视图
algorithm 子句:表示为视图选择算法,有三个选项,一般情况下我们不显示给出,使用第一个参数 “undefined”,表示 MySQL 自动选择算法;
view_name:为视图名。默认情况下,在当前数据库下创建视图,若想给其他数据创建视图,必须在视图名前制定目标数据库,db_name.view_name,视图名不能与表名相同;
column_list:可以给视图列取名称,多个列用逗号隔开;
select_statement:用来创建视图的 select 语句,给出了视图所需内容。默认情况下,select 语句检索的列名就是视图的列名称。若想给列名取别的名字,可使用 column_list 字句,但注意两者数目必须相等。
With check option :用于视图更新时,保证在视图的权限范围内;
要求具有针对视图的 create view 语句权限,以及针对有 select 语句选择列上的某些权限。
cascaded | local