一、视图的定义:
视图是一张虚拟表,本身不存储数据,主要用于封装底层与数据表的接口,整合多张数据表的数据结构。视图也可以修改表里面的数据,但是原则上不允许通过视图修改原数据。
二、视图的用途:
a、处理数据库分表结构的数据。如数据量较大或者根据业务逻辑将表结构分开后,需要进行统一查询时,避免复杂的sql查询,可使用视图;
b、在数据库层面进行权限控制,进行数据隔离。在不同应用场景下,创建只可以查看某视图的用户,可避免登陆数据库后查看其他数据。
c、利用视图完成复杂的多表连接,且可以利用视图对数据进行格式化。
d、提升sql的利用率。
三、视图的操作
创建视图:
`CREATE VIEW view_name as select column1,column2 from table_name where condition;`
修改视图:
`ALTER VIEW view_name as select column1,column2 from table_name where condition;`
删除视图:
`DROP VIEW view_name;`
四、视图的缺点
灵活性较差,需要查询新的内容时需要修改视图结构
五、视图与临时表的区别
视图是虚拟表,临时表是真实存在的数据表,临时表只存在当前连接,当前连接关闭后,临时表会自动释放