一.视图是什么
1.视图是一条SELECT语句执行后的返回的结果集
2.视图对实际表的引用,是一个虚表,并不存储任何数据,实际表数据改变了,视图也会改变
3.对视图的更新,将会更新实际表
二.视图的作用
1.方便操作,减少复杂语句
2.增强安全性
三.创建视图
基本语法
CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] VIEW [db_name.]view_name [(column_list)] AS select_statement [WITH [CASCADED | LOCAL] CHECK OPTION]
若给定了[OR REPLACE],则表示当已具有同名的视图时,将覆盖原视图
示例:
CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW test_view AS
SELECT test2.id,test5.`name` FROM test2,test5 WHERE test2.uid=test5.id;
基本解释:
ALGORITHM=UNDEFINED:指定视图的处理算法;
DEFINER=`root`@`localhost`:指定视图创建者;
SQL SECURITY DEFINER:指定视图查询数据时的安全验证方式;
尽可能优化视图查询,否则性能受影响.对视图的增删改,要注意,有可能会更改原表数据.
其实视图就是mysql数据库层面的JOIN查询.