关于MySQL中视图的理解和使用

视图

什么是视图

简单的说,视图就是将一张或者多张表中查询出来的数据进行组合,成为一张虚拟存在的虚拟表。

视图的意义

在视图中用户也可以进行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联合后的结果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值