视图

含义:虚拟表,和普通表一样使用。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-视图相关推荐

  1. 李玉婷MYSQL进阶02:条件查询

    李玉婷MYSQL进阶02:条件查询 语法结构: select: 查询列表 from:表名 where: 筛选条件 分类: 一.条件表达式 示例:salary>10000 条件运算符:> & ...

  2. 李玉婷MYSQL进阶03排序查询

    引入: select * from employees; 语法: select 查询列表 3 from 表 1 [where 筛选条件 2 order by 排序列表 asc| desc]4 特点: ...

  3. 李玉婷MYSQL进阶08——分页查询

    分页查询 应用场景:当要显示的数据,一页显示不全,需要分页提交sql要求 语法: select 查询列表 from 表 [join type join 表2 on 连接条件 where 筛选条件 gr ...

  4. 李玉婷MYSQL进阶06-连接查询

    连接查询 含义:多表查询,当查询的字段来自于多个表时,就会用到连接查询 笛卡尔乘积现象:表1 有m行,表2有n行,结果=m*n行 发生原因:没有添加有效的连接条件 如何避免:添加有效的连接条件 SEL ...

  5. 李玉婷MYSQL进阶11-TCL语言

     事务: 一个或一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行 事务的特性 ACID: 原子性:一个事务不可再分割,要么都执行要么都不执行 一致性:一个事务执行会使数据从一个 ...

  6. 李玉婷MYSQL进阶14-存储过程和函数

    存储过程和函数:类似java中放入方法 好处:1.提高代码的重用性 2.简化操作 存储过程 含义:一组预先编译好的s q l语句的集合,理解成批处理语句 好处:1.提高代码的重用性 2.简化操作 3. ...

  7. 2017年-李玉婷-MySQL基础(178集)免积分下载

    2017年-李玉婷-MySQL基础(178集) 链接:https://pan.baidu.com/s/1KOA7J-ck_zafL5TUCYEamA 密码:osp7

  8. mysql 设置某个字段等于某个字段_学习记录-第十八天(李玉婷MySQL基础 第12天)...

    复习DQL-DML-DDL+约束 /*复习 union DQL 查询语句,将多条查询语句的结果合并成一个结果 合并查询 union [all] 将一条比较复制的查询语句拆分多条语句 适用于查询多表,查 ...

  9. 李玉婷mysql2019_学习记录-第五天(李玉婷MySQL基础 第1天)

    DQL-条件查询-模糊查询 #模糊查询 /* like 一般和通配符搭配使用 通配符: %:任意多个字符,包含0个字符 _任意单个字符 between and 简洁,包含两端值(>=,<= ...

最新文章

  1. 生成对抗网络学习笔记4----GAN(Generative Adversarial Nets)的实现
  2. ubuntu18.04下安装tomcat8.5
  3. 利用反射获得委托和事件以及创建委托实例和添加事件处理程序
  4. 配置Bean的作用域对象
  5. [css] 说说你对相对定位、绝对定位、固定定位的理解
  6. 蚂蚁金服自研分布式关系数据库OceanBase上线阿里云
  7. 三维空间坐标的旋转算法详解_视觉slam | 三维空间刚体运动的五种表达:旋转矩阵 变化矩阵 欧拉角 旋转向量 四元数及互相转换...
  8. 电子科大计算机考研考英语几,11年电子科大计算机考研经验_跨考网
  9. eax, ebx, ecx, edx, esi, edi, ebp, esp 各寄存器作用
  10. 风投盯上阿里云开发者大会寻下一个阿里
  11. pytorch中的squeeze和unsqueeze对比
  12. java 编程思想 阅读笔记(1)
  13. 送示波器?送各色示波器设计!
  14. Mac下PHP连接MySQL报错"No such file or directory"的解决办法
  15. win10开始菜单点击无效(win10开始菜单点击无效,网络不启动,音频不启动)
  16. html怎么写海贼王旗帜图片,海贼王精美旗帜套图
  17. 创意简约土木黑灰配色PPT模板
  18. IGRP原理及配置案例
  19. jetson nano开发使用的基础详细分享
  20. Java、Scala使用tan和arctan求斜率和倾斜角

热门文章

  1. 操作系统启动过程——硬件自检+系统引导+系统加载+系统登录
  2. [转]VR原理讲解及开发入门
  3. 超融合进入云轨道 青云QingCloud一鸣惊人
  4. “Chain of Thought Reasoning“ 和 “Chain Prompts“ 是什么
  5. 金融开发软件开发经验分享~
  6. Web基础配置篇(十一): Zookeeper的安装配置及使用
  7. BC20 GPS定位功能
  8. RK3568平台开发系列讲解(网络篇)网络连通性(NetworkMonitor)分析
  9. android 百度地图高德地图开发
  10. 基于微信小程序云开(统计学生信息并导出excel)3.0版