视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成,仅仅是用来产看储存在别处的数据的一种设施。
如果在创建视图的时候制定了“WITH CHECK OPTION”,那么更新数据时不能插入或更新不符合视图限制条件的记录
>DESC 视图名; 或者 >SHOW FIELDS FROM 视图名;
show create view v_name;
因为视图就是一张虚拟表,所以查看视图和查看表的语句一样
show tables;
也可以用like模糊查询,这时需要创建视图命名有一些特别,比如v_...
注意
更新视图实际上是更新基表,因为视图本身没有数据,对视图进行跟新或删除就是对基表进行更新或删除
CREATE OR REPLACE VIEW 视图名 AS SELECT [...] FROM [...];
可以通过视图插入数据,但是只能基于一个基础表进行插入,不能跨表更新数据。
不是所有视图都可以被更新的,如果mysql不能正确的确认被更新的基数据,则不允许更新,如果定义视图有以下操作,则不允许更新
原文:https://www.cnblogs.com/tianzeng/p/10359244.html