一、什么是视图
视图是一个虚拟表,其内容由 select 查询语句定义和真是的表一样,视图也包含行和列,对视图的操作与对表的操作基本一致。视图中的数据是在试用视图时动态生成的,视图中的数据都存储在基表中。使用视图具备如下三种好处:
- 可读性:简化了复杂查询,使复杂查询更易于理解和使用。
- 安全性:视图可以隐藏一些敏感信息,可以把权限限定到行列级别。
- 重用性:视图是对复杂查询语句的封装,对数据库重构不会影响程序的运行。
二、视图的基本操作
视图表的数据变化会影响到基表,基表数据的变化也会影响到视图表。基本操作语法如下:
#创建视图 CRETAE VIEW view_name AS SELECT ...; #修改视图 ALTER VIEW view_name AS SELECT ...; #查看视图创建语句 SHOW CREATE VIEW view_name; #查看有哪些视图 SHOW TABLE STATUS WHERE comment='view'; #删除视图 DROP VIEW view_name; #修改视图 UPDATE view_name set colum=value [where whereColum=value];
Tip:虽然说对视图表数据的修改会影响到基表的数据,但是一般来说我们使用视图表的本意是对数据进行查询,并且不会对视图表进行修改操作,而且对试图表的修改操作容易出现数据缺失或不正确的问题,并且对于有复杂逻辑的视图表数据进行修改的话是不允许的。