mysql视图的更新 条件_MySQL进阶16 - 视图的创建/修改/删除/更新--可更新性的不适用条件...
#进阶16 : 视图/*含义: 虚拟表,和普通表一样使用;(从5.1开始使用的:)是通过表动态生成的数据
创建语法:
create view 视图名
as
查询语句;
----------
作用: 重用SQL语句,简化复杂的sql操作,不必知道它的查询细节;
保护数据,提高安全性;
-------------------------
视图的修改:
方式1: create or replace view 视图名
as
查询语句;
方法2: alter view 视图名
as
查询语句;
----------------------------
三:视图的删除 : 用户可以一次删除一个或者多个视图,前提是必须有该视图的drop权限。
语法: drop view 视图名,视图名,视图名;
-----------------------------
四:查看视图
desc v2;
-----------------------------
#五: 视图的更新
CREATE OR REPLACE VIEW myv1
AS
SELECT last_name,email FROM employees;
SELECT * FROM myv1 ORDER BY last_name DESC;
#1.插入
INSERT INTO myv1 VALUES('张飞','zafqq.com');
#2 修改
UPDATE myv1 SET last_name ='张无忌' WHERE last_name='张飞';
#3 删除
DELETE FROM myv1 WHERE last_name ='张无忌';
--------------------------------------------
#六 视图的可更新性
视图的可更新性和视图中查询的定义有关系,以下类型的视图是不能更新的。
• 包含以下关键字的sql语句:分组函数、distinct、group by 、having、union或者union all
• 常量视图 • Select中包含子查询
• join
• from一个不能更新的视图
• where子句的子查询引用了from子句中的表
---------------------------------------------
视图 : create view 没有占用多少物理空间,只保存sql逻辑
表 : create table 占用了*/#案例():查询姓张的学生名和专业名USEstudent;SELECTstudentname,majornameFROMstuinfo sINNER JOIN major m ON s.`majorid`=m.`majorid`WHERE s.`studentname` LIKE '张%';
#demo1: 创建视图 ;CREATE VIEWv1AS
SELECTstudentname,majornameFROMstuinfo sINNER JOIN major m ON s.`majorid`=m.`majorid`WHERE s.`studentname` LIKE '张%';
#然后从视图中查找出全部信息;SELECT * FROMv1WHERE studentname LIKE '张%';
#----------------------------
#1.查询邮箱中包含a字符的 员工名、部门名和工种信息CREATE VIEWv2AS
SELECTe.`last_name`,e.`department_id`,j.`job_id`,j.job_titleFROMemployees e,jobs jWHERE e.`job_id`=j.`job_id` AND email LIKE '%a%';
#② 使用视图SELECT * FROM v2 WHERE last_name LIKE '%a%';
#2.查询各部门的平均工资的级别CREATE VIEWv3AS
SELECT AVG(salary) ag,department_idFROMemployeesGROUP BYdepartment_id;SELECTv3.department_id,g.`grade_level`FROMv3JOINjob_grades gON v3.ag BETWEEN g.`lowest_sal` ANDg.`highest_sal`;
#3.查询平均工资最低的部门信息SELECT * FROM v3 ORDER BY ag LIMIT 1;
#4.查询平均工资最低的部门名和工资SELECT *
FROM`departments`WHERE departments.department_id =(SELECT department_id FROMv3ORDER BY ag LIMIT 1);
#5.视图的修改(REPLACE)--方式1
CREATE OR REPLACE VIEWv3AS
SELECT MIN(salary) min_ag,department_idFROMemployeesGROUP BYdepartment_id;SELECT * FROMv3;
#6.视图的修改(alter)--方式2
ALTER VIEWv3AS
SELECT MAX(salary) max_ag,department_idFROMemployeesGROUP BYdepartment_id;
#平均1.00 --2400次
SELECT ('28-29两天scanner sum'),(865-833+621-523+230-175+3+ 58-41+87-66+4+48-32+7+2+20+31-14+11-9),(0.054+0.073);
#五: 视图的更新CREATE OR REPLACE VIEWmyv1AS
SELECTlast_name,emailFROMemployees;SELECT * FROM myv1 ORDER BY last_name DESC;
#1.插入INSERT INTO myv1 VALUES('张飞','zafqq.com');
#2修改UPDATE myv1 SET last_name ='张无忌' WHERE last_name='张飞';
#3删除DELETE FROM myv1 WHERE last_name ='张无忌';
mysql视图的更新 条件_MySQL进阶16 - 视图的创建/修改/删除/更新--可更新性的不适用条件...相关推荐
- mysql怎么删除表中字段的数据库表_Mysql 数据库 表 字段的创建 修改 删除
MYSQL基础上机练习题(一) 数据库.表.字段的创建.修改.删除 一.实验目的: 创建.修改.删除数据库 创建.修改.删除表 创建.修改.删除字段 二.内容: 创建一个用于企业管理的员工管理数据库, ...
- MySQL进阶11--DDL数据库定义语言--库创建/修改/删除--表的创建/修改/删除/复制
/*进阶 11 DDL 数据库定义语言库和表的管理一:库的管理:创建/修改/删除二:表的管理:创建/修改/删除创建: CREATE DATABASE [IF NOT EXISTS] 库名;修改: al ...
- mysql利用触发器删除数据库_[数据库]mysql 触发器的创建 修改 删除
[数据库]mysql 触发器的创建 修改 删除 0 2015-12-16 23:00:04 //做一个简单的练习,创建一个简单的触发器 完成添加文章的时候,自动加上时间,默认作者 为 '日记本的回忆' ...
- mysql的视图的名词解释_MySql中的视图的概念及应用
视图的基本概念 视图是从一个或几个基本表(或者视图)导出的表.它与基本表不同,是一个虚表. 数据库只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中.所以基本表中的数据发生变化, ...
- mysql bin的过期时间_Mysql设置binlog过期时间并自动删除
问题: Mysql数据库由于业务原因,数据量增长迅速,binlog日志会增加较多,占用大部分磁盘空间. 解决方案: 出于节约空间考虑,可进行删除多余binary日志,并设置定期删除操作. 1.查看bi ...
- mysql各种联结的区别_mysql必知必会-创建高级联结
使用表别名 使用别名引用被检索的表列 别名除了用于列名和计算字段外,SQL还允许给表名起别名.这样做 有两个主要理由: 缩短SQL语句: 允许在单条 SELECT 语句中多次使用相同的表. 可以看到, ...
- mysql 事b务 查询_MySQL进阶学习笔记二(包括连接查询、子查询、联合查询、事务、存储过程)...
1.高级查询 (1)了解笛卡尔积:笛卡尔乘积是指在数学中,两个集合X和Y的笛卡尔积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序 ...
- mysql insert update 同时执行_MySQL进阶三板斧(三)看清“触发器 (Trigger)”的真实面目
触发器(Trigger)的起源 MySQL是最受欢迎的开源RDBMS,被社区和企业广泛使用.触发器是MySQL在5.0.1(开天辟地一版本)中增加的三大新功能之一,另外两个师兄弟是视图(view)与存 ...
- mysql 记录更新 内部_MySQL 入门(1):查询和更新的内部实现
摘要 在MySQL中,简单的CURD是很容易上手的. 但是,理解CURD的背后发生了什么,却是一件特别困难的事情. 在这一篇的内容中,我将简单介绍一下MySQL的架构是什么样的,分别有什么样的功能.然 ...
- mysql update主键冲突_mysql主键重复,不报错,只更新的操作
项目中对接一个单点登陆的回调api,需要判断用户是否在库,不在库新增用户,在库更新登陆次数,大概代码如下:<?php $isExist = true; if ($isExist) { inser ...
最新文章
- TCP/IP详解--第七章
- excel 用VBA将所有单元格内容全部转换为文本
- python语言入门p-python初学者怎么入门
- Android Scrollview嵌套RecyclerView导致滑动卡顿问题解决(屡试不爽)
- slot多作用域 vue_vue 深度长文之slot 篇
- 2019长安大学ACM校赛网络同步赛 L XOR
- struts2文件下载
- 03-01 appium架构介绍与环境安装
- 如何列出引用SQL Server中给定表的所有外键?
- 基于OpenCV全景图像拼接
- 《Kotlin项目实战开发》第1章 Kotlin是什么 1
- 【数字信号去噪】基于matlab同心兰姆波模式分解【含Matlab源码 679期】
- Android应用签名、打包实际操作
- 微信小程序开发批量推送服务通知
- 计算机硬件的五大逻辑部分,计算机的硬件系统由五大部分组成(计算机由几部分组成)...
- wow服务器合并信息,WOW魔兽世界5月21日大服务合并维护 二区合并至电信区
- asp.net paypal信用卡支付功能
- 用python实现等额本息
- pip install下载一些包很慢,可-i 从豆瓣源下载
- FDTD学习之偶极子光源的purcell值
热门文章
- 第二章 驱动程序调测方法与技巧
- 用glew,glfw实现opengl绘制3D学习笔记1-实现一个窗口
- 仙岛求药 详解(C++)
- php 带$字符处理,thinkphp中的特殊字符处理
- python需要学数据结构吗_我也要学python-内置数据结构(一)
- 计算机主机英语怎么说,电脑的英文-电脑的主机这个词英语怎么说?电脑的主 – 手机爱问...
- php oauth单点登陆,php单点登录
- linux打开文件系统调用,Linux2.4打开一个文件的系统调用
- android dns 测试工具,DNS Test测速工具
- 框架 go_Go语言优秀应用开发框架 GoFrame