视图

含义:虚拟表,和普通表一样使用,视图中的数据来自查询中使用的表,并且试图是动态生成的,并没有保存查询结果可以理解为封装:多次使用

 创建视图

语法结构:
   creat view 视图名
   as
   查询语句;

案例 :创建视图查询每个部门的平均工资

 CREATE VIEW myv2ASSELECT AVG(salary) ag,`department_id`FROM employeesGROUP BY department_id;

案例: #查询各部门工资级别

 SELECT myv2.ag,g.`grade_level`FROM myv2JOIN `job_grades` gON myv2.ag BETWEEN g.`lowest_sal` AND `highest_sal`;

案例 #查询姓张的学生名和专业名

#之前写法

SELECT `stuNume`,`majorName`
FROM `stuinfo` s
INNER JOIN maijor m
ON s.`maijorId`=m.`id`
WHERE s.`stuNume` LIKE '张%';

#做虚拟表,封装起来

CREATE VIEW v1
AS
SELECT `stuNume`,`majorName`
FROM `stuinfo` s
INNER JOIN maijor m
ON s.`maijorId`=m.`id`;SELECT *FROM v1 WHERE stuNume LIKE '张%';

二 视图的修改

语法结构

方式1:
  create or replace view 视图名
  as
  查询语句;
  
  方式二:
  alter view 视图名
  as
  查询语句;

三 删除视图

drop view 视图名,视图名

四查看视图

DESC myv2;
SHOW CREATE VIEW myv2;

五 视图的更新(更新其中的数据)

 这个其实很好理解:更新视图的时候同时修改了原始表,所以当视图中有多于原始表中内容的操作的时候都不能执行

#1.插入 (修改视图的时候,原始表也修改了,可以插入的条件是,没有额外多余原始表的东西

INSERT INTO myv1 VALUES('张',NULL,NULL);SELECT *FROM myv1;

#2.修改

UPDATE myv1 SET last_name='zt' WHERE last_name=''

#3.删除

DELETE FROM myv1 WHERE 条件

变量

系统变量:
   全局变量
   会话变量
自定义变量:
  用户变量
  局部变量

一 系统变量

全局变量

作用域:服务器每次启动将为所有全局变量赋值,针对所有连接有效,但是不能跨重启

1.查看所有系统变量

 SHOW GLOBAL /【session】 VARIABLES

2.查看满足条件的部分系统变量

SHOW GLOBAL /【session】 VARIABLES LIKE ‘ ’;

3.查看某某个指定系统变量的值

SELECT @@global/【session】系统变量名 

4.为某个系统变量赋值

SET GLOBAL/【】 系统变量名=值
或
SET @@ global/【】 . 系统变量名=值;

会话变量

SHOW VARIABLES;
SHOW VARIABLES LIKE '%ssl%';
SELECT @@autocommit;
SET autocommit=0;
SET @@autocommit=1;

二 自定义变量

用户自己定义的  
声明 赋值 使用

1.用户变量

可以应用到任何地方

1.1声明并且初始化

SET @用户变量名=值;
SET @用户变量名:=值;
SELECT @用户变量名:=值;

1.2 赋值

 和上面一样 或
SELECT 字段 INTO @变量名
FROM 表 SET @coun=0;
SELECT COUNT(*) INTO @coun
FROM `employees`;

1.3 使用

SELECT @用户变量名;
SELECT @coun;

2.局部变量

声明

DECLARE 变量名 类型;
DECLARE 变量名 类型 DEFAULT 值;

赋值 

 SET 变量名=值SET 变量名:=值

使用

SELECT 局部变量名

对比

用户变量            局部变量

当前连接            只能在begin END 中第一句

SET @用户变量名=值    DECLARE 用户变量名 类型

案例 :声明两个变量并且赋值 求和 打印

1.用户变量
SET @m=2;
SET @n=3;
SET@sum=@m+@n;
SELECT @sum;
2.局部变量
#下面这样写不行,需要在begin end 中
DECLARE m1 INT DEFAULT 5;
DECLARE n1 INT DEFAULT 6;
DECLARE summ INT ;
SET summ=m1+n1;
SELECT summ;

MySQL 视图变量相关推荐

  1. 【数据库优化专题】MySQL视图优化(一)

    本期数据库优化专题分享,为大家带来的是DBA+社群MySQL领域原创专家--李海翔所著的MySQL视图优化系列文章.以下是第一部分的内容,未完部分敬请关注后续更新. 专家简介 李海翔 网名:那海蓝蓝 ...

  2. MySQL 服务器变量 数据操作DML-视图

    原文:MySQL 服务器变量 数据操作DML-视图 SQL语言的组成部分 常见分类: DDL:数据定义语言 DCL:数据控制语言,如授权 DML:数据操作语言 其它分类: 完整性定义语言:DDL的一部 ...

  3. MySQL服务器变量一

    autocommit={0|1} 设定MySQL事务是否自动提交,1表示立即提交,0表示需要显式提交.作用范围为全局或会话,可用于配置文件中(但在5.5.8之前的版本中不可用于配置文件),属于动态变量 ...

  4. mysql视图应用_MySQL视图的概念与实际应用

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

  5. MySQL 视图(详解) navicat如何创建视图

    文章目录 MySQL 视图(详解 一,视图概念 使用视图的原因 二,创建视图 (1)基本语法 (2)创建基于单表的视图 [实例 1] [实例 2] (3)创建基于多表的视图 [实例 3] (4)查询视 ...

  6. MySQL数据库,从入门到精通:第十四篇——MySQL视图详解

    MySQL数据库,从入门到精通:第十四篇--MySQL视图详解 第 14 篇_视图 1. 常见的数据库对象 2. 视图概述 2. 1 为什么使用视图? 2. 2 视图的理解 3. 创建视图 3. 1 ...

  7. mysql视图添加行号排名

    在mysql视图中,想要创建视图的同时,在sql查询语句中将原数据按照某一字段排序. 以我所遇到的情况为例,我想要查询视图中的数据,并将其按照市值(total_mv)降序排序. 以下是sql语句: s ...

  8. centos下加入mysql环境变量

    centos下加入mysql环境变量 命令行的时候每次都要进入mysql的目录/usr/local/mysql/bin太麻烦了,为了能在任何一个位置直接进入,设置一下环境变量即可 vi /etc/pr ...

  9. mysql session变量_mysql 系统变量和session变量

    mysql系统变量包括全局变量(global)和会话变量(session),global变量对所有session生效,session变量包括global变量.mysql调优必然会涉及这些系统变量的调整 ...

最新文章

  1. 深刻理解Vue中的组件
  2. CSS3的边框(border)属性-radius
  3. Java学习笔记19
  4. SPOJ Ada and Spring Cleaning(hash)
  5. 搜索引擎爬虫蜘蛛的UserAgent收集
  6. 大数据薪资报告出炉:你的工资拖后腿了吗?
  7. bzoj4245: [ONTAK2015]OR-XOR
  8. C++ 网络开发工具
  9. 前端学习(177):定义列表
  10. 基于Java+SpringBoot+vue+node.js实现自行车租赁平台管理系统
  11. 用计算机打cf,CF能用的特殊符号有什么 CF特殊符号怎么打
  12. mac mysql log在哪里_mac如何开启mysql bin-log
  13. htaccess文件是什么
  14. 微软发布关于 Surface Pro 3 TPM 绕过漏洞的安全公告
  15. 微信语音怎么转发?微信转发语音居然是这样做的…
  16. Windows及Linux系统下--adb驱动安装及问题总结
  17. [IOS] Storyboard全解析-第二部分
  18. 数字电路的一些基本知识
  19. 关于图片裁剪怎么弄,这里分享几款软件
  20. 存量 IoT 设备零改造,一键迁移企业物联网实例

热门文章

  1. 目前主流浏览器及其内核
  2. html中 lt br gt 的作用,lt;brgt;是什么意思?
  3. 创建角色和ansible-galaxy简单使用
  4. 3D数字人arkit面部捕捉简化版流程
  5. Origin如何绘制二维图形?
  6. 支付宝:账号不存在,或对方关闭了“通过手机号或邮箱找到我“隐私开关!怎么解决?
  7. 出现意外的服务器响应怎么解决,Web服务器出现意外时该如何处理?
  8. 用C编写COM(一)
  9. No.10 position定位 之 absolute绝对定位
  10. Oracle Sysdate 时间计算 年月日时分秒