-- 视图
/*
含义:虚拟表,和普通的表一样使用
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>入门五 视图的更多相关文章

  1. MySQL入门笔记 - 视图

    参考书籍<MySQL入门很简单> 1.视图定义 视图是从一个或者多个表中导出来的虚拟的表,透过这个窗口可以看到系统专门提供的数据,使用户可以只关心对自己有用的数据,方便用户对数据操作,同时 ...

  2. openresty 前端开发入门五之Mysql篇

    openresty 前端开发入门五之Mysql篇 这章主要演示怎么通过lua连接mysql,并根据用户输入的name从mysql获取数据,并返回给用户 操作mysql主要用到了lua-resty-my ...

  3. MySql概述及入门(五)

    MySql概述及入门(五) MySQL集群搭建之读写分离 读写分离的理解 为解决单数据库节点在高并发.高压力情况下出现的性能瓶颈问题,读写分离的特性包括会话不开启事务,读语句直接发送到 salve 执 ...

  4. MySQL入门笔记

    MySQL入门笔记 版本选择: 5.x.20 以上版本比较稳定 一.MySQL的三种安装方式: 安装MySQL的方式常见的有三种: ·          rpm包形式 ·          通用二进制 ...

  5. 21分钟 MySQL 入门教程(转载!!!)

    21分钟 MySQL 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数 ...

  6. MySQL入门转载

    21分钟 MySQL 入门教程 http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html 目录 一.MySQL的相关概念介绍 二.Wi ...

  7. Thinkphp入门 五 —模型 (49)

    原文:Thinkphp入门 五 -模型 (49) [数据库操作model模型] model  模型  数据库操作 tp框架主要设计模式:MVC C:controller   控制器   shop/Li ...

  8. DevExpress XtraReports 入门五 创建交叉表报表

    原文:DevExpress XtraReports 入门五 创建交叉表报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更多的人不会像我这样浪 ...

  9. mysql 入门 基本命令

    MYSQL入门学习之一:基本操作  1.登录数据库    www.2cto.com     命令:mysql -u username –p (mysql -h主机地址 -u用户名 -p用户密码)   ...

随机推荐

  1. java8新特性-方法引用

    方法引用:若 Lambda 体中的功能,已经有方法提供了实现,可以使用方法引用 (可以将方法引用理解为 Lambda 表达式的另外一种表现形式) 1. 对象的引用 :: 实例方法名2. 类名 :: 静 ...

  2. react-native 项目更名步骤

    刚开始开发项目的时候,更没有想好一个项目名称,如何才能更名一个RN APP名称呢,可按照如下方式操作即可. 使用说明 更改package.json { "name": " ...

  3. leetcode 784. Letter Case Permutation——所有BFS和DFS的题目本质上都可以抽象为tree,这样方便你写代码

    Given a string S, we can transform every letter individually to be lowercase or uppercase to create ...

  4. Objective-C程序

    创建: 2018/01/17 完成: 2018/01/19  对象(object)与信息  信息式 声明实例变量  id obj;  向对象变量发送信息 [obj msg] //这就是信息式 例: [ ...

  5. hexo简易脚本

    !/bin/bash 检查是否为master分支.目录是否正确 function git-branch-name { git symbolic-ref --short -q HEAD } functi ...

  6. 微信扫码下载APK遮罩提示示例

    由于微信的限制,应用文件在内置浏览器中下载全部被屏蔽掉,造成很多人用微信扫描二维码下载时,界面显示一片空白,容易误导以为在下载呢.按照当前主流习惯,做一个提示用户在浏览器中打开下载的遮罩.网上很多现成 ...

  7. redis实际项目作用

    我整理一下redis主要在项目作用,只是我接触到的 1  手机验证码存入redis中,可以限制什么时候有效 2 防止接口请求频率过高,例如一分钟只能请求5次 代码如下: <?php /** * ...

  8. 离散化+BFS HDOJ 4444 Walk

    题目传送门 /* 题意:问一个点到另一个点的最少转向次数. 坐标离散化+BFS:因为数据很大,先对坐标离散化后,三维(有方向的)BFS 关键理解坐标离散化,BFS部分可参考HDOJ_1728 */ # ...

  9. 利用Openfiler配置基于文件系统的网络存储

    一.Openfiler简介 Openfiler是一个操作系统,其提供基于文件的网络附加存储和基于块的存储区域网络功能. Openfiler支持的网络协议包括:NFS,SMB/CIFS,HTTP/Web ...

  10. Scala-基础-运算符

    import junit.framework.TestCase /** * 运算符 */ class Demo3 extends TestCase { def test_+ { var x = 10; ...