数据库视图是虚拟表或逻辑表
不能在视图上创建索引
MySQL不会发出任何错误,MySQL会使视图无效.可以使用CHECK TABLE语句来检查视图是否有效
视图不仅是可查询的,而且是可更新的,INSERT或UPDATE语句通过可更新视图插入或更新基表的行.
可以使用DELETE语句通过视图删除底层表的行.要创建可更新视图,定义视图的SELECT语句不能包含以下任何元素:
聚合函数,如:MIN,MAX,SUM,AVG,COUNT等
DISTINCT子句
GROUP BY子句
HAVING子句
UNION或UNION ALL子句左连接或外连接
SELECT子句中的子查询或引用该表的WHERE子句中的子查询出现在FROM子句中
引用FROM子句中的不可更新视图仅引用文字值对基表的任何列的多次引用
如果使用TEMPTABLE算法创建视图,则无法更新视图。
CREATE VIEW officeInfo
AS
SELECT officeCode,phone,city FROM offices;
#调用
SELECT
*
FROM
officeInfo;
#更新使视图不一致.为了确保视图的一致性,在创建或修改视图时使用WITH CHECK OPTION子句
CREATE OR REPLACE VIEW view_name
AS
select_statement#主体
WITH CHECK OPTION;#结尾
# LOCAL&CASCADED检查范围