<MySQL>入门五 视图
-- 视图
/*
含义:虚拟表,和普通的表一样使用
mysql5.1版本的新特性,是通过表动态生成的数据,只保存了sql的逻辑,不保存查询的结果 应用场景:
- 多个地方用到同样的查询结果
- 该查询结果使用的sql语句较复杂 好处:
重用sql语句
简化了复杂的sql操作,不必知道它的查询细节
保护数据,提高安全性
*/ -- ---------------视图的创建和使用----------------------------------- -- 创建一个查询员工名和部门名的试图
CREATE VIEW view_empName_depName AS
SELECT last_name,department_name
FROM employees e
JOIN departments d
ON e.`department_id`=d.`department_id`; -- 需求:查找员工名包含e 的 员工名和部门名
SELECT * FROM view_empName_depName WHERE last_name LIKE '%e%'; -- ---------------视图的修改-----------------------------------------
-- 方式一
/*
如果存在就修改,如果不存在则创建
create or replace view 视图名 as 查询语句
*/ -- 方式二
/*
alter view 视图名 as 查询语句
*/ -- ---------------视图的删除-----------------------------------------
/*
drop view 视图名1,视图名2...
*/ -- ---------------视图的查看-----------------------------------------
/*
desc 视图名
*/
DESC view_empName_depName; -- ---------------视图的更新-----------------------------------------
-- 同时也会对原始表进行更新
CREATE OR REPLACE VIEW myv1 AS SELECT last_name,email FROM employees;
SELECT * FROM myv1; -- 1.插入
INSERT INTO myv1 VALUES('麦克雷','123@qq.com'); -- 2.修改
UPDATE myv1 SET last_name = '天使' WHERE last_name = '麦克雷'; -- 3.删除
DELETE FROM myv1 WHERE last_name = '天使'; -- ---------------视图的要求-----------------------------------------
-- 具备以下特点的视图不允许更新
-- ①包含关键字:分组函数,distinct,group by,having,union,union all
-- ②常量试图
-- ③select中包含子查询
-- ④join
-- ⑤from一个不能更新的视图
-- ⑥where 子句的子查询查询引用了from子句中的表 /*
视图 create view 没有占用空间,只是保存了逻辑 增删改查,一般不增删改
表 create table 占用空间,保存了数据 增删改查
*/
<MySQL>入门五 视图的更多相关文章
- MySQL入门笔记 - 视图
参考书籍<MySQL入门很简单> 1.视图定义 视图是从一个或者多个表中导出来的虚拟的表,透过这个窗口可以看到系统专门提供的数据,使用户可以只关心对自己有用的数据,方便用户对数据操作,同时 ...
- openresty 前端开发入门五之Mysql篇
openresty 前端开发入门五之Mysql篇 这章主要演示怎么通过lua连接mysql,并根据用户输入的name从mysql获取数据,并返回给用户 操作mysql主要用到了lua-resty-my ...
- MySql概述及入门(五)
MySql概述及入门(五) MySQL集群搭建之读写分离 读写分离的理解 为解决单数据库节点在高并发.高压力情况下出现的性能瓶颈问题,读写分离的特性包括会话不开启事务,读语句直接发送到 salve 执 ...
- MySQL入门笔记
MySQL入门笔记 版本选择: 5.x.20 以上版本比较稳定 一.MySQL的三种安装方式: 安装MySQL的方式常见的有三种: · rpm包形式 · 通用二进制 ...
- 21分钟 MySQL 入门教程(转载!!!)
21分钟 MySQL 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数 ...
- MySQL入门转载
21分钟 MySQL 入门教程 http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html 目录 一.MySQL的相关概念介绍 二.Wi ...
- Thinkphp入门 五 —模型 (49)
原文:Thinkphp入门 五 -模型 (49) [数据库操作model模型] model 模型 数据库操作 tp框架主要设计模式:MVC C:controller 控制器 shop/Li ...
- DevExpress XtraReports 入门五 创建交叉表报表
原文:DevExpress XtraReports 入门五 创建交叉表报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更多的人不会像我这样浪 ...
- mysql 入门 基本命令
MYSQL入门学习之一:基本操作 1.登录数据库 www.2cto.com 命令:mysql -u username –p (mysql -h主机地址 -u用户名 -p用户密码) ...
随机推荐
- hibernate 下载
https://sourceforge.net/projects/hibernate/files/hibernate-orm/5.0.7.Final/ http://sourceforge.net/p ...
- Oracle 游标使用总结(好文章)
游标(CURSOR)也叫光标,在关系数据库中经常使用,在PL/SQL程序中可以用CURSOR与SELECT一起对表或者视图中的数据进行查询并逐行读取. Oracle游标分为显示游标和隐式游标. 显示游 ...
- android 在代码中设置字体颜色 问题
项目中需要在代码中控制字体颜色 之前是直接引用资源文件 但是不行 tv.setTextColor(R.color.textColor_black); 无效果 后来在网上找了资料发现 要从reso ...
- POJ2749 Building road
传送门 这道题真是2-SAT好题啊!!卡了我两个点才做完……垃圾POJ还不告诉我哪错了…… 首先我们先花一段时间把题看懂……(其实是翻译一下),之后我们发现因为每个谷仓只能向一个中转点连边,所以他就是 ...
- 使用Google的Closure Compiler,在本机上压缩javascript
2011-12-05 13:47:39 1.JAVA JDK下载地址: http://download.oracle.com/otn-pub/java/jdk/7u1-b08/jdk-7u1-wi ...
- Python Matplotlib模块--pyplot
#-*- coding: utf- -*- ''' numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=No ...
- AngularJS 指令(意义)
angular.module('modulename') .directive('myDirective', function(){ return { restrict: 'EA', //E表示ele ...
- sql数据库如何在数据库里面把其中一个数据库的表复制到另一个数据库里面
在sqlserver数据库里面,我们肯定有这样一个情况,假如我用的是SQL2008,如何把数据库里面的整个表以及表内数据复制到另外一个表中.那应该如何操作??有两种方法,我们一起来看一下 复制表结构: ...
- “ResGen.exe”已退出,代码为 -1073741701 或 “ResGen.exe”已退出,代码为 2。
解决的办法如下: 1.关闭所有Visual Studio: 2.以管理员的身份打开命令提示窗口:(开始-运行-cmd) 3.更改目录至"CD C:\Program Files (x86)\M ...
- Postman发送GET请求带中文
当使用Postman进行GET请求,并且请求参数里携带中文得时候,会请求失败 这时,需要对GET请求参数携带的中文进行编码即可请求成功