【MySQL】视图 —— 介绍及基本语法

一、介绍

视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。

定义视图的时候所使用的这张表,我们也把这张表叫做基表,也叫基础表。

通俗的讲,视图只保存了查询的SQL逻辑,不保存查询结果。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。


二、语法

1). 创建

OR REPLACE:用于替换

视图是一张虚拟表,最终的数据来源于as后面的select语句,select语句中我们需要去指定我们要从哪一张表中去查询数据;select中查询的表就是这个视图所关联的基表,也叫基础表。

CREATE [OR REPLACE] VIEW 视图名称[(列名列表)] AS SELECT语句 [ WITH [ CASCADED  |  LOCAL ]  CHECK  OPTION ]

2). 查询

查看创建视图语句:SHOW  CREATE  VIEW  视图名称;
查看视图数据(将视图作为一张表查询,表是怎么查询的,视图就怎么查)SELECT * FROM 视图名称 ......;

3). 修改

可以发现和创建视图时是一样的,创建视图时OR REPLACE可以加也可以不加,但是修改视图时主要在OR REPLACE,即将视图对应的内容替换掉。

方式一:CREATE   [OR REPLACE]   VIEW  视图名称[(列名列表)]   AS   SELECT语句   [ WITH [ CASCADED  |  LOCAL ]  CHECK  OPTION ]
方式二:ALTER   VIEW  视图名称[(列名列表)]   AS   SELECT语句   [ WITH [ CASCADED  |  LOCAL ]  CHECK  OPTION ]

4). 删除

DROP  VIEW  [IF EXISTS]   视图名称   [,视图名称]  ...

三、示例

-- 创建或替换视图
create or replace view stu_v_1 as select id,name from student where id <= 10;

创建成功后会看到,在tables表的下面会出现一个views,这个views指的就是我们所创建出来的视图,名字为 stu_v_1,这个视图里面包含两个字段:id和name。

image-20240719115724607
-- 查询视图
show create view stu_v_1;

此时我们就会看到我们创建视图的时候所执行的SQL语句。但是这个SQL语句和我们上面这一块稍微有一点点差异,这个里面所查询出来的SQL语句包含了在创建视图的时候我们所没有指定的一些默认的参数。

image-20240719115953239


如果我们要查询视图中的数据,就跟操作表一样。

select * from stu_v_1;
-- 也可以在查询的时候加上条件
select * from stu_v_1 where id < 3;
-- 修改视图
create or replace view stu_v_1 as select id,name,no from student where id <= 10;
alter view stu_v_1 as select id,name from student where id <= 10;
-- 删除视图
drop view if exists stu_v_1;
  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL视图是一种虚拟表,它有结构(有行和列),但没有实际存储数据。创建视图可以通过CREATE VIEW语句来实现。例如,使用SELECT语句来定义视图的查询结果。通过创建视图,我们可以简化复杂的查询,提高查询效率,并且可以直接使用视图来查询数据,而不必每次都编写复杂的查询语句。 在MySQL中,使用CREATE VIEW语句创建视图,语法如下: CREATE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition; 其中,view_name是视图的名称,column1, column2等是要选择的列,table_name是要查询的表,condition是可选的筛选条件。 通过创建视图,我们可以使用视图的名称来查询数据,就好像查询表一样。视图的查询结果是根据视图定义的SELECT语句生成的。 总结起来,MySQL视图是一种虚拟表,可以通过CREATE VIEW语句创建,将复杂的查询结果保存为视图,方便后续查询操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span> #### 引用[.reference_title] - *1* *2* *4* [MySQL——视图查询](https://blog.csdn.net/qq_67308046/article/details/124413261)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatgptT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [MySQL视图](https://download.csdn.net/download/weixin_38550834/13685354)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatgptT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值