一、什么是视图
视图是存放数据的一个接口,也可以说是虚拟表,这些数据可以是从一个或几个基表(视图)的数据,也可是用户自己定义的数据,其实视图里面不存放数据,数据还是存在基表里面,基表数据发生变化,视图里的数据也随之变化,视图里数据变化,基表也会变化。
二、视图的作用
1. 视图可以让查询变得更方便(复杂的SQL语句变得很简单)
2. 保护数据库的重要数据, 给不同的人看不同的数据
三、创建视图
create [or replace] [algorithm={merge|temptable|undefined}]
view view_name [(column_list)]
as select_statement
[with [cascaded|local] check option]
视图有三种类型
Merge: 会将引用视图的语句的文本与视图定义结合起来,使用得视图定义的某一部分取代语句的对应部分
temptable:视图的结果将被置于临时表中,然后使用它执行语句。
undefined:MySQL将选择所要使用的算法。如果可能,它倾向于MERGE而不是TEMPTABLE,这是因为MERGE通常更有效,而且如果使用了临时表,视图是不可更新
当用户创建视图时,mysql默认使用一种undefine的处理算法,就是会自动在合并和临时表内进行选择。
with local check option [local]只要满足本视图的条件就可以更新
with cascaded check option [cascaded]则是必须满足所有针对视图的条件,才可以更新
四.视图的操作
同表操作
以上就介绍了MySQL视图,包括了Mysql方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn