视图?
- 什么是视图?
- 视图可以理解为一种虚拟的表;
- 内部并不存储数据, 数据都是存储在真正的表中;
- 视图存在的意义
- 增加数据的安全性;
- 增加表的逻辑独立性;
- 简便;
视图的创建
- 语法
CREATE [ALGORITHM = {UNDEFIEND|MERGE|TEMPTABLE}] VIEW <view-name> [(<column-alias-list>)] AS <select-statement> [WITH [ CASCADED | LOCAL ] CHECK OPTION]
- 说明
- ALGORITHM 是可选参数,表示视图选择的算法;
- WITH CHECK OPTION 表示更新视图时要检查权限, 以保证在该视图的权限范围之内;
- ALGORITHM 包括 3 个选项 UNDEFINED、MERGE 和 TEMPTABLE:
- UNDEFINED 选项表示 MySQL 将自动选择所要使用的算法;
- MERGE 选项表示将使用视图的语句与视图定义合并起来,使得视图定义的某一部分取代语句的对应部分;
- TEMPTABLE 选项表示将视图的结果存入临时表,然后使用临时表执行语句;
- CASCADED 表示更新视图时要满足所有相关视图和表的条件,该参数为默认值;
- LOCAL 表示更新视图时,要满足该视图本身的定义条件即可;