MySQL语句学习(八)--视图

视图是数据库中的虚拟表,用于限制用户对特定数据的访问。可以使用CREATEVIEW创建视图,如emp_view01,只显示emp表的部分列。ALTERVIEW用于更新视图定义,而DROPVIEW则用于删除视图。视图的数据变化会同步到基表,反之亦然,且视图可以嵌套使用,如emp_view02基于emp_view01创建。

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

一、视图(view)

1、引入视图

需求:员工表emp的列信息很多,有些信息时个人重要信息(比如薪水sal、补贴comm等),如果我们希望某个用户智能查询emp表的其他信息,有什么办法?SELECT 选择性查找?======》视图

1.1、视图概念

视图是一个虚拟表,其内容由查询定义。同真实表一样,视图包含列,其数据来自对应的真实表(基表)。

视图和基表关系示意图:

 2、视图的基本使用

1、CREATE VIEW 视图名 AS SELECT语句

2、ALTER VIEW 视图名 AS SELECT语句---更新成新的视图

3、SHOW CREATE VIEW 视图名

4、DROP VIEW 视图名1,视图名2

-- 视图的使用
-- 创建一个视图 emp_view01,只能查询 emp 表的(empno、ename, job 和 deptno ) 信息
-- 创建视图
CREATE VIEW emp_view01
        AS
SELECT empno, ename, job, deptno FROM emp;

-- 查看视图
DESC emp_view01
SELECT * FROM emp_view01;
SELECT empno, job FROM emp_view01;

-- 查看创建视图的指令
SHOW CREATE VIEW emp_view01
-- 删除视图
DROP VIEW emp_view01;

3、视图的细节讨论

1、创建视图后,到数据库中去看,对应视图只有一个视图结构文件(形式:视图名.frm)

2、视图的数据变化会影响到基表,基表的数据变化也会影响到视图(insert、update、delete)

3、视图中可以再使用视图,数据仍来自基表。

-- 视图的细节
-- 1. 创建视图后,到数据库去看,对应视图只有一个视图结构文件(形式: 视图名.frm)
-- 2. 视图的数据变化会影响到基表,基表的数据变化也会影响到视图[insert update delete ]
-- 修改视图 会影响到基表
UPDATE emp_view01
SET job = 'MANAGER' WHERE empno = 7369
SELECT * FROM emp; -- 查询基表
SELECT * FROM emp_view01

-- 修改基本表, 会影响到视图
UPDATE emp
    SET job = 'SALESMAN' 
    WHERE empno = 7369

-- 3. 视图中可以再使用视图 , 比如从 emp_view01 视图中,选出 empno,和 ename 做出新视图
CREATE VIEW emp_view02
        AS
SELECT empno, ename FROM emp_view01
SELECT * FROM emp_view02

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值