mysql基础之视图

194 阅读1分钟

一、视图的定义:

视图是一张虚拟表,本身不存储数据,主要用于封装底层与数据表的接口,整合多张数据表的数据结构。视图也可以修改表里面的数据,但是原则上不允许通过视图修改原数据。

二、视图的用途:

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;`

四、视图的缺点

灵活性较差,需要查询新的内容时需要修改视图结构

五、视图与临时表的区别

视图是虚拟表,临时表是真实存在的数据表,临时表只存在当前连接,当前连接关闭后,临时表会自动释放