关于MySQL中视图的理解和使用
程序员文章站
2022-06-02 08:56:37
...
视图
什么是视图
简单的说,视图就是将一张或者多张表中查询出来的数据进行组合,成为一张虚拟存在的虚拟表。
视图的意义
在视图中用户也可以进行select语句查询,进行insert,update,delete对记录进行修改,视图不仅方便了用户的操作,而且,保障了数据库系统的安全。
视图的特点
优点
- 简单化,直接把你想要的数据呈现在眼前
- 安全性,让使用者只能操作展示在面前的数据
- 逻辑独立性,可以避免原表结构变化带来的影响
缺点
- 性能相对较差,简单的查询也会因为牵扯多表而复杂
- 修改不方便,回因为表间约束而使一些数据视图无法修改
视图的使用
# 创建视图
create view t_empinfo
as
select EMPLOYEE_ID,CONCAT(FIRST_NAME,LAST_NAME) '姓名',email from t_employees;
# 使用视图
select * from t_empinfo;
# 视图的修改
# 1.create or replace view 视图名 as 。。。。;不明确视图是否存在时使用
create or replace view t_empinfo
as
select EMPLOYEE_ID,CONCAT(FIRST_NAME,LAST_NAME) '姓名',email,t_employees.JOB_ID from t_employees;
# 2. alter view 视图名 as ....; 明确视图存在
ALTER view t_empinfo as select EMPLOYEE_ID,CONCAT(FIRST_NAME,LAST_NAME) '姓名',email from t_employees;
# 删除视图
drop view t_empinfo;
视图的注意事项
1.原表改变视图也会改变
2.如果视图存在以下情况,不能更新
- 聚合函数的结果
- DISTINCT去重后的结果
- GROUP BY分组后的结果
- HAVING 筛选过滤后的结果
- UNION、UNION ALL联合后的结果
上一篇: MySQL视图的作用
下一篇: 悲观锁