视图
视图(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;