李玉婷MYSQL进阶12-视图
视图
含义:虚拟表,和普通表一样使用。mysql15.1版本出现的新特性,是通过表动态生成的数据。
一、创建视图
语法:
create view 视图名
as
查询语句;
案例1:查询姓名中包含a字符的员工名、部门名和工种信息
CREATE VIEW myv1
ASSELECT last_name,department_name,job_title
FROM employees e
JOIN departments d ON e.department_id=d.department_id
JOIN jobs j ON e.job_id=e.job_id;SELECT * FROM myv1 where last_name LIKE '%a%';
案例2:查询各个部门的平均工资级别
CREATE VIEW myv2
AS
SELECT AVG(salary) ag,department_id
FROM employees
GROUP BY department_id;SELECT myv2.ag,g.grade_level
FROM myv2
JOIN job_grades g
ON myv2.ag BETWEEN g.lowest_sal AND g.highest_sal;
案例3:查询平均工资最低的部门信息
SELECT * from myv2 ORDER BY ag LIMIT 1;
案例4:查询平均工资最低的部门名和工资
CREATE VIEW myv3
AS
SELECT * from myv2 ORDER BY ag LIMIT 1;SELECT d.*,m.ag
FROM myv3 m
JOIN departments d
ON m.department_id=d.department_id;
二、视图的修改
方式一:
create or replace view 视图名
as
查询语句;
SELECT * FROM myv3CREATE OR REPLACE VIEW myv3
AS
SELECT AVG(salary),job_id
FROM employees
GROUP BY job_id;
方式二:
alter view 视图名
as
查询语句;
ALTER VIEW myv3
AS
三、删除视图
语法:drop view 视图名,视图名,。。。;
DROP VIEW myv1,myv2,myv3;
四、查看视图
DESC myv3;
SHOW CREATE VIEW myv3;
五、视图的更新
CREATE OR REPLACE VIEW myv1
AS
SELECT last_name,email
FROM employees;SELECT * FROM myv1
5.1插入
原始表也插入了
SELECT * FROM myv1;
SELECT * FROM employees;INSERT INTO myv1 VALUES('张飞','zf@qq.com');
5.2修改
原始表也改了
SELECT * FROM myv1;
SELECT * FROM employees;UPDATE myv1 SET last_name = '张无忌' WHERE last_name='张飞';
5.3删除
DELETE FROM myv1 WHERE last_name = '张无忌';
具备以上特点的视图不允许更新:
1.包含以下关键字的s q l语句:分组函数、distinct、group by、having、union all
2.常量视图
3.select中包含子查询
4.join
5.from一个不能更新的视图
6.where子句的子查询引用了from子句的表
视图和表的对比
创建语法的关键字 是否实际占用物理空间 使用
视图 create view 只是保存了sql逻辑 增删改查,只是一般不能增删改
表 create table 保存了数据 增删改查
案例:查询姓张的学生名和专业名
SELECT stuname,majorname
FROM stuinfo s
INNER JOIN major m ON a.major=m.id
WHERE s.stuname LIKE '张%';CREATE VIEW VALUES v1
AS
SELECT stuname,majorname
FROM stuinfo s
INNER JOIN major m ON a.major=m.id;
WHERE s.stuname LIKE '张%';
delete 和truncate在事务使用时的区别
SET autocommit=0;
START TRANSACTION;
DELETE FROM account;
ROLLBACK;
李玉婷MYSQL进阶12-视图相关推荐
- 李玉婷MYSQL进阶02:条件查询
李玉婷MYSQL进阶02:条件查询 语法结构: select: 查询列表 from:表名 where: 筛选条件 分类: 一.条件表达式 示例:salary>10000 条件运算符:> & ...
- 李玉婷MYSQL进阶03排序查询
引入: select * from employees; 语法: select 查询列表 3 from 表 1 [where 筛选条件 2 order by 排序列表 asc| desc]4 特点: ...
- 李玉婷MYSQL进阶08——分页查询
分页查询 应用场景:当要显示的数据,一页显示不全,需要分页提交sql要求 语法: select 查询列表 from 表 [join type join 表2 on 连接条件 where 筛选条件 gr ...
- 李玉婷MYSQL进阶06-连接查询
连接查询 含义:多表查询,当查询的字段来自于多个表时,就会用到连接查询 笛卡尔乘积现象:表1 有m行,表2有n行,结果=m*n行 发生原因:没有添加有效的连接条件 如何避免:添加有效的连接条件 SEL ...
- 李玉婷MYSQL进阶11-TCL语言
事务: 一个或一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行 事务的特性 ACID: 原子性:一个事务不可再分割,要么都执行要么都不执行 一致性:一个事务执行会使数据从一个 ...
- 李玉婷MYSQL进阶14-存储过程和函数
存储过程和函数:类似java中放入方法 好处:1.提高代码的重用性 2.简化操作 存储过程 含义:一组预先编译好的s q l语句的集合,理解成批处理语句 好处:1.提高代码的重用性 2.简化操作 3. ...
- 2017年-李玉婷-MySQL基础(178集)免积分下载
2017年-李玉婷-MySQL基础(178集) 链接:https://pan.baidu.com/s/1KOA7J-ck_zafL5TUCYEamA 密码:osp7
- mysql 设置某个字段等于某个字段_学习记录-第十八天(李玉婷MySQL基础 第12天)...
复习DQL-DML-DDL+约束 /*复习 union DQL 查询语句,将多条查询语句的结果合并成一个结果 合并查询 union [all] 将一条比较复制的查询语句拆分多条语句 适用于查询多表,查 ...
- 李玉婷mysql2019_学习记录-第五天(李玉婷MySQL基础 第1天)
DQL-条件查询-模糊查询 #模糊查询 /* like 一般和通配符搭配使用 通配符: %:任意多个字符,包含0个字符 _任意单个字符 between and 简洁,包含两端值(>=,<= ...
最新文章
- 生成对抗网络学习笔记4----GAN(Generative Adversarial Nets)的实现
- ubuntu18.04下安装tomcat8.5
- 利用反射获得委托和事件以及创建委托实例和添加事件处理程序
- 配置Bean的作用域对象
- [css] 说说你对相对定位、绝对定位、固定定位的理解
- 蚂蚁金服自研分布式关系数据库OceanBase上线阿里云
- 三维空间坐标的旋转算法详解_视觉slam | 三维空间刚体运动的五种表达:旋转矩阵 变化矩阵 欧拉角 旋转向量 四元数及互相转换...
- 电子科大计算机考研考英语几,11年电子科大计算机考研经验_跨考网
- eax, ebx, ecx, edx, esi, edi, ebp, esp 各寄存器作用
- 风投盯上阿里云开发者大会寻下一个阿里
- pytorch中的squeeze和unsqueeze对比
- java 编程思想 阅读笔记(1)
- 送示波器?送各色示波器设计!
- Mac下PHP连接MySQL报错"No such file or directory"的解决办法
- win10开始菜单点击无效(win10开始菜单点击无效,网络不启动,音频不启动)
- html怎么写海贼王旗帜图片,海贼王精美旗帜套图
- 创意简约土木黑灰配色PPT模板
- IGRP原理及配置案例
- jetson nano开发使用的基础详细分享
- Java、Scala使用tan和arctan求斜率和倾斜角
热门文章
- 操作系统启动过程——硬件自检+系统引导+系统加载+系统登录
- [转]VR原理讲解及开发入门
- 超融合进入云轨道 青云QingCloud一鸣惊人
- “Chain of Thought Reasoning“ 和 “Chain Prompts“ 是什么
- 金融开发软件开发经验分享~
- Web基础配置篇(十一): Zookeeper的安装配置及使用
- BC20 GPS定位功能
- RK3568平台开发系列讲解(网络篇)网络连通性(NetworkMonitor)分析
- android 百度地图高德地图开发
- 基于微信小程序云开(统计学生信息并导出excel)3.0版