MySql基础之视图
MySql基础之视图
1、常见的数据库对象2、视图概述视图是一种虚拟表,本身是 不具有数据的,占用很少的内存空间,它是 SQL 中的一个重要概念。视图建立在已有表的基础上, 视图赖以建立的这些表称为基表。视图的创建和删除只影响视图本身,不影响对应的基表。向视图提供数据内容的语句为 SELECT 语句, 可以将视图理解为存储起来的 SELECT 语句可以基于视图创建视图、创建视图代码语言:java
MySql基础之视图
- 视图是一种虚拟表,本身是 不具有数据的,占用很少的内存空间,它是 SQL 中的一个重要概念。
- 视图建立在已有表的基础上, 视图赖以建立的这些表称为基表。
- 视图的创建和删除只影响视图本身,不影响对应的基表。
- 向视图提供数据内容的语句为 SELECT 语句, 可以将视图理解为存储起来的 SELECT 语句
- 可以基于视图创建视图
CREATE VIEW 视图名称
AS 查询语句
例1:
代码语言:javascript代码运行次数:0运行复制# 单表
CREATE VIEW empvu80
AS
SELECT employee_id, last_name, salary
FROM employees
WHERE department_id = 80;
例2:
代码语言:javascript代码运行次数:0运行复制CREATE VIEW dept_sum_vu
AS
SELECT d.department_name name, MI(e.salary) minsal, MAX(e.salary) maxsal,AVG(e.salary) avgsal
FROM employees e, departments d
WHERE e.department_id = d.department_id
GROUP BY d.department_name;
- 查看视图的结构
DESC / DESCRIBE 视图名称;
- 查看视图的详细定义信息(sql查询语句)
SHOW CREATE VIEW 视图名称;
举例:
代码语言:javascript代码运行次数:0运行复制show create view empvu80
一般情况:
MySQL支持使用ISERT、UPDATE和DELETE语句对视图中的数据进行插入、更新和删除操作。当视图中的 数据发生变化时,数据表中的数据也会发生变化,反之亦然。
不可更新的视图:
要使视图可更新,视图中的行和底层基本表中的行之间必须存在 一对一 的关系。另外当视图定义出现如下情况时,视图不支持更新操作:
- 在定义视图的时候指定了“ALGORITHM = TEMPTABLE”,视图将不支持ISERT和DELETE操作;
- 视图中不包含基表中所有被定义为非空又未指定默认值的列,视图将不支持ISERT操作;
- 在定义视图的SELECT语句中使用了 JOI联合查询 ,视图将不支持ISERT和DELETE操作;
- 在定义视图的SELECT语句后的字段列表中使用了 数学表达式 或 子查询 ,视图将不支持ISERT,也不支持UPDATE使用了数学表达式、子查询的字段值;
- 在定义视图的SELECT语句后的字段列表中使用 DISTICT 、 聚合函数 、 GROUP BY 、 HAVIG 、 UIO 等,视图将不支持ISERT、UPDATE、DELETE;
- 在定义视图的SELECT语句中包含了子查询,而子查询中引用了FROM后面的表,视图将不支持 ISERT、UPDATE、DELETE;
- 视图定义基于一个不可更新视图 ;
- 常量视图。
修改视图:
代码语言:javascript代码运行次数:0运行复制ALTER VIEW 视图名称
AS 查询语句
删除视图:
代码语言:javascript代码运行次数:0运行复制DROP VIEW empvu80;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-01-20,如有侵权请联系 cloudcommunity@tencent 删除数据数学mysql函数基础 #感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2025-07-20 19:29:11
上一篇:MySql基础之存储过程与函数
下一篇:MySql基础之约束
推荐阅读
留言与评论(共有 13 条评论) |
本站网友 西宁搜房网 | 14分钟前 发表 |
MAX(e.salary) maxsal | |
本站网友 宠物狗商城 | 16分钟前 发表 |
UPDATE | |
本站网友 大概8点20发 | 29分钟前 发表 |
last_name | |
本站网友 三维度 | 20分钟前 发表 |
创建视图代码语言:javascript代码运行次数:0运行复制CREATE VIEW 视图名称 AS 查询语句例1:代码语言:javascript代码运行次数:0运行复制# 单表 CREATE VIEW empvu80 AS SELECT employee_id | |
本站网友 企业医生 | 2分钟前 发表 |
视图将不支持ISERT和DELETE操作;视图中不包含基表中所有被定义为非空又未指定默认值的列 | |
本站网友 蜂毒面膜 | 26分钟前 发表 |
视图将不支持ISERT和DELETE操作;在定义视图的SELECT语句后的字段列表中使用了 数学表达式 或 子查询 | |
本站网友 不加糖的苦咖啡 | 0秒前 发表 |
视图的创建和删除只影响视图本身 | |
本站网友 美团团购 | 17分钟前 发表 |
视图赖以建立的这些表称为基表 | |
本站网友 花都二手房网 | 7分钟前 发表 |
而子查询中引用了FROM后面的表 | |
本站网友 乌鞘岭隧道 | 11分钟前 发表 |
子查询的字段值;在定义视图的SELECT语句后的字段列表中使用 DISTICT | |
本站网友 卡西欧电子琴官网 | 22分钟前 发表 |
UIO 等 | |
本站网友 护肤祛痘 | 29分钟前 发表 |
视图将不支持ISERT和DELETE操作;视图中不包含基表中所有被定义为非空又未指定默认值的列 |