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