欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于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视图的作用

下一篇: 悲观锁