-- 视图
/*
含义:虚拟表,和普通的表一样使用
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 占用空间,保存了数据 增删改查
*/

最新文章

  1. c#接口
  2. skiplist
  3. JavaBean与Jsp
  4. android软件开发之webView.addJavascriptInterface循环渐进【一】
  5. PHP 数组和对象的相互转化
  6. [转]SQL Server中临时表与表变量的区别
  7. ruby操作mongo DB
  8. Python学习--09 模块
  9. html使用css让文字多行超出部分用省略号三个点显示的方法案例
  10. 应对linux下的闰秒
  11. CentOS下源码安装vsftpd-3.0.0,并设置指定用户访问指定目录(附带完整配置文件)
  12. C语言 第三章 关系、逻辑运算与分支流程控制
  13. Lucene.net(4.8.0) 学习问题记录四: IndexWriter 索引的优化以及思考
  14. 详解intellij idea搭建SSM框架(spring+maven+mybatis+mysql+junit)(上)
  15. Windows10中使用Anaconda安装keras-gpu版本(遇到的坑)
  16. 微信小程序设置背景铺满全屏
  17. 面向对象【day07】:多态(九)
  18. null和System.DBNull.Value的区别
  19. Go语言之进阶篇连接mysql
  20. Python的全局和局部变量

热门文章

  1. Java 相关计数问题及其实现
  2. FreeMarker:目录
  3. bzoj2419
  4. libnids 中哈希表的建立
  5. 云服务器装teamviewer
  6. bzoj 1045: [HAOI2008] 糖果传递【瞎搞】
  7. GIt学习之路 第二天 创建版本库
  8. K Seq HihoCoder - 1046 || BZOJ4504 k个串
  9. 超实用的jQuery代码片段
  10. 242 Valid Anagram 有效的字母异位词