文章来自:源码在线https://www.shengli.me/mysql/110.html
1、视图——
什么是视图,视图就是一条select语句执行后返回的结果集。
2,视图的特性:
视图是对若干张基本表的引用,一张虚表,查询语句执行的结果,不存储具体的数据(基本表数据发生了改变,视图也会跟着改变);
可以跟基本表一样,进行增删改查操作(ps:增删改操作有条件限制);
3,使用场合:
权限控制的时候,不希望用户访问表中某些含敏感信息的列,比如salary...
4,视图的作用
方便操作,特别是查询操作,减少复杂的SQL语句,增强可读性;
更加安全,数据库授权命令不能限定到特定行和特定列,但是通过合理创建视图,可以把权限限定到行列级别;
5,实例代码:
这是我们想要查询小张上课的所有课程相关信息的时候需要写一条长长的sql语句。如下:
但是有了视图不需要那么麻烦了比如说view_user_course 视图 如下:
要点:
ALGORITHM=UNDEFINED:指定视图的处理算法;
DEFINER=`root`@`localhost`:指定视图创建者;
SQL SECURITY DEFINER:指定视图查询数据时的安全验证方式;
创建好视图了我们只需如下几行代码就能查到上述内容了