104 MySQL_9 _视图

本文深入讲解MySQL中的视图概念,包括视图的创建、使用、修改及删除等操作,探讨了视图的优点如简化查询、增强安全性以及逻辑独立性,同时也指出了其可能带来的性能问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

104 MySQL_9 _视图

视图

1.概念

  • 视图,虚拟表,从一个表或多个表中查询出来的表,作用和真实表一样,包含一系列带有行和列的数据。
  • 视图中,用户可以使用 SELECT语句查询数据,也可以使用INSERT, UPDATE,DELETE修改记录,
  • 视图可以使用户操作方便,并保障数据库系统安全。

2.视图特点

  • 优点:
    • 简单化,数据所见即所得。
    • 安全性,用户只能查询或修改他们所能见到得到的数据。
    • 逻辑独立性,可以屏蔽真实表结构变化带来的影响。
  • 缺点:
    • 性能相对较差,简单的查询也会变得稍显复杂。
    • 修改不方便,特变是复杂的聚合视图基本无法修改。

3.视图的创建

语法:CREATE VIEW 视图名 AS 查询数据源表语句;

3.1创建视图

#创建t_empInfo的视图,其视图从t_employees表中查询到员工编号、员工姓名、员工邮箱、工资
CREATE VIEW t_empInfo AS
SELECT EMPLOYEE_ID,FIRST_NAME,LAST_NAME,EMAIL,SALARY from t_employees;

3.2使用视图

#查询t_empInfo视图中编号为101的员工信息
SELECT * FROM t_empInfo where employee_id = '10' ;

4.视图的修改

  • 方式一:CREATE OR REPLACE VIEW 视图名 AS 查询语句 (create or replace view)存在即更新,否则创建
  • 方式二:ALTER VIEW 视图名 AS 查询语句

4.1修改视图

#方式1:如果视图存在则逬行修改,反之,进行创建
CREATE OR REPLACE VIEW t_emplnfo AS
SELECT EMPLOYEE_ID,FIRST_NAME,LAST_NAME,EMAIL,SALARY,DEPARTMENT_ID from t_employees;

#方式2:直接对已存在的视图进行修改
ALTER VIEW t_emplnfo AS
SELECT EMPLOYEE_ID,FIRST_NAME,LAST_NAME,EMAIL,SALARY from t_employees;

5.视图的删除

DROP VIEW 视图名

5.1删除视图

#删除视图
DROP VIEW t_emplnfo;
  • 注意:删除视图不会影响原表

6.视图的注意事项

  • 视图不会独立存储数据,原表发生改变,视图也发生改变。没有优化任何查询性能。
  • 如果视图包含以下结构中的一种,则视图不可更新:
    • 聚合函数的结果
    • DISTINCT去重后的结果
    • GROUP BY分组后的结果
    • HAVING筛选过滤后的结果
    • UNION、UNIONALL联合后的结果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悬浮海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值