[原创]数据库视图介绍和使用

  1. 什么是视图
    视图是一个虚拟表,它只保存在内存里,不占实际的存储空间,不保存数据,它只是从表里引用数据,它的使用方式和表是一样的.
  2. 视图的使用场景
    • 简化数据访问
      有时候数据在表里的格式并不适合终端查询,这时可以创建一系列的视图.
    • 作为一种安全策略
      视图可以限制用户只访问表里特定字段或满足一定条件的记录.
    • 维护摘要数据
      如果摘要数据所基于的表经常更新,那么使用视图要比每次都写SQL来的方便.
  3. 创建视图
    MySQL的文档中对创建视图是这样定义的:

CREATE
[OR REPLACE]
[ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
[DEFINER = { user | CURRENT_USER }]
[SQL SECURITY { DEFINER | INVOKER }]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION]

一个普通的视图创建语句是这样的:
CREATE VIEW V_CUSTOMERS AS SELECT * FROM V_CUSTOMERS;
从多个表创建视图的写法和上面是一样的,替换掉SELECT子句即可.
4. WITH CHECK OPTION
这个用的不是很多.它像是一种约束.如果在创建视图的适合使用了这个选项,那么当向表中插入或者更新的记录不符合视图的条件时则操作失败.
5. 删除视图
跟删除表一样,使用DROP可以删除一个视图:
DROP VIEW V_CUSTOMERS;

posted @ 2015-06-22 12:10  王龙彪  阅读(186)  评论(0编辑  收藏  举报