视图:
在MySQL当中视图其实是一个sql的查询结果。又称为虚拟表。
语法:
CREATE VIEW good_view as SELECT goods_id,goods_name,shop_price from goods where shop_price>2000;
结果:
视图的作用:
1.权限控制的时候可以使用。
比如:某几个列,允许用户查询,其它不允许。
可以通过使用视图,开放其中的一列或几列,起到权限控制的作用。
2.简化复杂的查询
3.视图能不能添加,修改,和删除
当视图里的字段与物理表(即源表)一一对应的时候,视图是能够更新,删除和修改的,并同时将这些操作映射到源表。
但是当视图里的字段与源表不一致的时候或者是源表经过计算得到的结果的时候,对视图进行这些操作是会报错的。
4.创建视图的算法:algorithm
对于简单查询形成的view,在对view查询时,如where,order等等,可以把创建视图的语句,和查询视图的语句合并成一条语句进而查询物理表的语句。这种视图的算法叫merge(合并)。
也有可能,视图的语句本身比较复杂,很难再和查询视图的语句合并起来,MySQL可以先执行视图的创建语句,在内存当中创建临时表,然后再去查询临时表:temptable.