#视图
/*
含义:虚拟表,和普通表一样使用。通过表动态生成的数据 只保存了sql逻辑,不保存查询结果 应用场景:
1、多个地方用到同样的查询结果
2、该查询结果使用的sql语句较为复杂
*/ USE students;
show tables; #案例:查询姓张的学生名和专业名
select stu_name, major_name
from stuinfo as s
inner join major m on s.major_id = m.id
where s.stu_name like '张%'; # 用视图来实现
# 创建视图
create view v1 as
select stu_name, major_name
from stuinfo as s
inner join major m on s.major_id = m.id;
#使用视图
select * from v1
where stu_name like '张%'; #一、创建视图
/*
语法:
create view 视图名 as
查询语句;
*/
USE myemployees; #案例1:查询姓名中包含a字符的员工名、部门名和工种信息
create view myv1 as
select last_name,department_name, job_title
from employees as e
inner join departments as d on e.department_id = d.department_id
inner join jobs as j on j.job_id = e.job_id; select * from myv1
where last_name like '%a%'; #案例2:查询各个部门的平均工资级别
#1、创建视图查看各个部门的平均工资
create view myv2 as
select avg(salary) as ag, department_id
from employees
group by department_id;
#2、使用视图查询对应的级别
select myv2.ag, g.grade_level
from myv2
inner join job_grades as 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 e.salary, d.department_name
from myv3
inner join employees as e on myv3.department_id = e.department_id
inner join departments as d on myv3.department_id = d.department_id; #二、视图的修改
/*
方式一
create or replace view 视图名 as
查询语句; 方式二
alter view 视图名 as
查询语句;
*/ #三、删除视图
/*
drop view 视图名, 视图名, ... ;
*/ #四、查看视图
desc myv3;
show create view myv3; #五、视图的更新
#可以更新,并且会更改原始表。但一般只用于查询
create or replace view v1 as
select last_name, email
from employees; select * from v1;
#1、插入
insert into v1
values('张飞', 'zf@qq.com'); #2、修改
update v1 set last_name='张无忌' where last_name='张飞'; #3、删除
delete from v1 where last_name='张无忌'; #当视图中含有分组groupby、联结join、子查询、并、聚集函数、distinct、导出(计算列)时,不能更新

  

mysql-15-view的更多相关文章

  1. MySQL视图view/存储过程和函数的使用

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p. ...

  2. 深入解析MySQL视图view

    阅读目录---深入解析MySQL视图view 创建视图 查看视图 视图的更改 create or replace view alter DML drop 使用with check option约束 嵌 ...

  3. 转: mysql create view 创建视图

    以下的文章主要是对MySQL视图的描述,其中包括MySQ视图L概述,以及创建MySQL视图-create view与修改MySQL视图--alter view等相关内容的具体描述,以下就是文章的具体内 ...

  4. MySQL视图(view)

    一.基本概念 视图是一个虚拟表,是sql的查询结果,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据,在使用视图时动态生成.视图的数据变化会影响到基表,基表的数据变化也会影响到视图 ...

  5. sql:Mysql create view,function,procedure

    create database Liber; use Liber; #顯示數据庫 20150210 Geovin Du 涂聚文 SHOW DATABASES; drop table BookKindL ...

  6. mysql crete view

    CREATE VIEW user_algo_view ASselect `u`.`userId` AS `UserId`,`u`.`userCode` AS `UserCode`,group_conc ...

  7. MySQL全面瓦解15:视图

    概述 很多时候,我们会有一些很复杂的数据库操作,比如整合用户的行为数据,那这些数据可能包含用户的餐饮.生活日用.充值消费.交通出行.通讯物流.交通出行.医疗保健.住房物业.运动健康... 基于此,我们 ...

  8. mysql view(视图)

    一,什么是视图 视图是存放数据的一个接口,也可以说是虚拟的表.这些数据可以是从一个或几个基本表(或视图)的数据.也可以是用户自已定义的数据.其实视图里面不存放数据的,数据还是放在基本表里面,基本表里面 ...

  9. mysql 视图(view)

    什么是视图 视图是从一个或多个表中导出来的表,是一种虚拟存在的表. 视图就像一个窗口,通过这个窗口可以看到系统专门提供的数据. 这样,用户可以不用看到整个数据库中的数据,而之关心对自己有用的数据. 数 ...

  10. Mysql 学习之基础操作

    一.表复制 1.复制表结构    将表hello的结构复制一份为表hello3 2.复制数据 a.如果两张表的结构一样且你要复制所有列的数据 mysql> insert into hello3 ...

随机推荐

  1. 谷歌蜂鸟算法对网站seo优化有何影响

    http://www.wocaoseo.com/thread-89-1-1.html       谷歌在过去三个月里,非常低调的推出了蜂鸟算法,据谷歌技术员表示,此种方法一出,将影响90%网站的排名, ...

  2. vue路由守卫+cookie实现页面跳转时验证用户是否登录----(二)设置路由守卫

    上一篇我们已经封装好了cookie方法,登录成功之后也可以吧用户信息存到cookie中,接下来需要在router/index.js中引入一下cookie.js文件 然后继续添加以下代码 /* * be ...

  3. java服务端实现微信小程序内容安全

    请参考微信官方文档:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/sec-check/security.i ...

  4. 表格取消全选框,用文字表示--Echarts ElementUi

    1.先看看实现的图 一. 添加添加复选框列 <el-table v-loading="zongShipLoading" tooltip-effect="dark&q ...

  5. 初学WebGL引擎-BabylonJS:第2篇-基础模型体验

    此次学习进度会比之前快很多,有了合适的学习方法后也就会有更多的乐趣产生了. 接上一章代码 上章代码 <!DOCTYPE html> <html> <head> &l ...

  6. 只有一重循环的排序——侏儒排序(Gnome Sort)

    侏儒排序:从头(i=0)开始遍历元素,如果当前元素比前一个元素大(array[i]>array[i-1]),就把它跟前一个元素互换(Swap(a[i],a[i-1]))并继续检查它(i--),否 ...

  7. 面试【JAVA基础】其他

    1.自定义注解 @target 说明了Annotation所修饰的对象范围: constructor.method.field.package.type等等. @retention 定义了该Annot ...

  8. Java8 日期和时间类

    新的日期和时间API 新的日期和时间类解决了Date和Calendar类出现的问题 浅尝 LocalDate 日期类 LocalDate of = LocalDate.of(2018, 7, 13); ...

  9. Java Jar源码反编译工具那家强

    本文介绍下Java Jar常见的反编译工具,并给出使用感受. 反编译JAR能干什么: 排查问题.分析商业软件代码逻辑,学习优秀的源码思路. JD-GUI 下载地址:http://java-decomp ...

  10. 2.AVFormatContext和AVInputFormat

    参考https://blog.csdn.net/leixiaohua1020/article/details/14214705 AVFormatContext: 用来存储视音频封装格式(flv,mp4 ...