视图

视图(View)是一种虚拟存在的表,对于使用视图的用户来说基本透明。视图并不在数据库中实际存在,行和列数据来自定义视图的查询表中使用的表,饼子啊使用视图时动态生成的。

       简单、安全,数据独立

1、 创建、修改视图

创建视图需要有 create view的权限,并且对于查询涉及的所有select权限。如果使用create or replace 或者alter修改视图,还需哟啊是图的drop权限。语法:

        CREATE OR REPLAECE VIEW staff_list_view  AS

        SELECT s.staff_id, s.first_name, s.last_name, a.address

        FROM  staff  AS s, address AS a

        WHERE  a.address_id = a. address_id;

MySQL视图的FROM关键字后卖弄不嗯给你包含子查询。

 

WITH (CASCADED|LOCAL) CHECK OPTION决定了是否允许更新数据使记录不再满足视图的条件。

        其中local是只要满足本视图的条件就可以更新;

        cascaded则是必须满足所有针对该视图的条件才更新。

如果没有明确是cascaded还是local,则默认是cascaded。示例如下:

CREATE or REPLACE VIEW payment_veiw AS

SELECT payment_id,amount from payment

WHERE amount<10 WITH CASCADED CHECK OPTION;

 

 

2、 删除视图

用户可以一次删除一个或者多个视图,前提是必须有该视图的DROP权限。

DROP VIEW staff_list;

 

3、 查看视图

从MySQL5.1开始,使用SHOW TABLES命令的时候不仅显示表的名字,同时也显示视图的名字,而不存在单独显示视图的SHOW VIEWS命令。

USE hello;

show TABLES

show views不可使用,可以使用show table status;

查询某个视图的定义,可以使用show create view;

posted on 2015-01-21 10:03  我是齐欢  阅读(227)  评论(0编辑  收藏  举报